塔那一题 有没有谁能解答一下为什么通过为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

相关推荐

秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
_mos_:要不是看评论区我都不知道你要找的是数分
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务