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