评测点序号 评测结果 得分 CPU使用 内存使用 下载评测数据
1 正确 25.00 0ms 824.0KB 输入 输出
2 正确 25.00 0ms 828.0KB VIP特权
3 正确 25.00 0ms 824.0KB VIP特权
4 正确 25.00 0ms 824.0KB VIP特权
#include <stdio.h>
int main() {
int N, i, k = 0, mark = 0;
scanf("%d", &N);
int a[N], b[N];
for(i = 0; i < N; i++) {
scanf("%d", &a[i]);
}
while (mark < N-1) {
mark = 0;
for(i = 0; i < N; i++) {
if(a[i] % 2 == 1) {
a[i]+=1;
k++;
}
}
//分糖果
for(i = 0; i < N-1 && mark < N-1; i++) {
b[i] = (a[i] + a[i+1]) /2;
}
b[N-1] = (a[0] + a[N-1]) /2;
//判断是否相等
for(i = 1; i < N && mark < N-1; i++) {
if(b[i] == b[i-1]) mark++;
else break;
}
//附初始值
for(i = 0; i < N && mark < N-1; i++) {
a[i] = b[i];
}
}
printf("%d\n", k);
return 0;
}