0分求调
查看原帖
0分求调
847725
yonglooksanlivi楼主2024/12/9 19:52

自造数据多组都对的,而且我特判了k = 1的情况,都没得分,大佬帮忙看看什么问题?

#include<bits/stdc++.h>
using namespace std;

const int N = 100010;
long long n, k, a[N], b[N], ans;

int main() {
	cin >> n >> k;
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	sort(a, a + n);
	if (k == 1) {
		for (int i = 0; i < n; i++) {
			ans += a[n - 1] - a[i];
		}
		cout << "YES " << ans;
		return 0;
	}
	for (int i = 0; i < n - 1; i++) {
		if ((a[n - 1] - a[i]) % k != 0) {
			cout << "NO";
			return 0;
		} else {
			ans += (a[n - 1] - a[i]) / k;
		}
	}
	cout << "YES " << ans;
	return 0;
}
2024/12/9 19:52
加载中...