1 条题解

  • 0
    @ 2026-9-30 12:59:26

    C++ :

    
    #include <cstdio>
    /* 只能整块搬,最终高度只能是平均值(题面保证总和整除 n)。
       最少搬运块数 = 所有高于平均值的楼房超出部分之和。 */
    static int h[25];
    int main(){
        int n;
        if(scanf("%d", &n) != 1) return 0;
        long long tot = 0;
        for(int i = 0; i < n; i++){ scanf("%d", &h[i]); tot += h[i]; }
        long long avg = tot / n, ans = 0;
        for(int i = 0; i < n; i++) if(h[i] > avg) ans += h[i] - avg;
        printf("%lld\n", ans);
        return 0;
    }
    
    
    • 1

    信息

    ID
    2858
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者