共同富裕

显然每次选最大的数字,其余的加一。也可以理解为每次选一个最大的数字减一,直到所有数字都变成最小的数字为止。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int cmp(const void * x, const void * y) {
    //x < y
    return (*((int *)(x))) > (*((int *)(y))) ? 1 : -1;
}
int a[100005];
int main() {
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
#endif
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    qsort(a, n, sizeof(int), cmp);
    long long ans = 0;
    for (int i = 1; i < n; i++) {
        ans += a[i] - a[0];
    }
    printf("%lld\n", ans);
    return 0;
}
View Code

相关文章: