我被困在了spoj.Here上的一个问题上,它是供您测试编辑:http://ideone.com/IGrTjK的源代码的理想链接,而问题的链接是:http://www.spoj.com/problems/CANDY/,尽管它以正确的格式传递给了给定的测试用例,但它似乎在spoj上给我提供了WA。这是我的密码。
#include<stdio.h>
int main() {
unsigned int n, i, sum, avg, count;
while(1) {
scanf("%d", &n);
if(n == -1)
break;
unsigned int a[n+1];
sum = count = 0;
for(i=0; i<n; i++) {
scanf("%d", &a[i]);
sum += a[i];
}
if(sum%n != 0) {
printf("-1\n");
}
else {
avg = sum/n;
for(i=0; a[i]<avg; i++)
count += (avg - a[i]);
printf("%d\n", count);
}
}
return 0;
}发布于 2015-08-02 18:19:59
不正确回路
主循环结束于等于或大于平均值的第一个数据包:
for(i=0;a[i]<avg;i++) count+=(avg-a[i]);
它需要查看所有数据包:
for(i=0;i<n;i++) {
if (a[i] < avg)
count+=(avg-a[i]);
}https://stackoverflow.com/questions/31774904
复制相似问题