自造数据多组都对的,而且我特判了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;
}