塔那一题 有没有谁能解答一下为什么通过为0……本地一点问题没有啊 思路也是最高的移动到最低的。 #include <stdio.h> int main() { int n, k, i, j, s, m, minIndex, maxIndex, minHeight, maxHeight; int arr[100]; int opArr[2000]; while(scanf("%d %d", &n, &k) != EOF) { int l = 0; for (i = 0; i < n; i++) { scanf("%d", &arr[i]); } for (i = 0; i < k; i++) { minIndex = 0; minHeight = arr[0]; maxIndex = 0; maxHeight = arr[0]; for (j = 0; j < n; j++) { if (arr[j] > maxHeight) { maxHeight = arr[j]; maxIndex = j; } if (arr[j] < minHeight) { minHeight = arr[j]; minIndex = j; } } if (maxHeight - minHeight < 2) { break; } else { arr[maxIndex] -= 1; arr[minIndex] += 1; maxHeight -= 1; minHeight += 1; opArr[l] = maxIndex + 1; opArr[l+1] = minIndex + 1; l += 2; } } s = maxHeight - minHeight; m = i; printf("%d %d\n", s, m); l = 0; for (i = 0; i < m; i++) { printf("%d %d\n",opArr[l], opArr[l+1]); l += 2; } } return 0; }
点赞 3

相关推荐

不愿透露姓名的神秘牛友
07-11 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
07-14 12:22
门头沟学院 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务