Codeforces Round #392 (Div. 2)

题目链接:http://codeforces.com/contest/758/problem/A

题意:给定N个城市的福利,国王现在想让每个城市的福利都一致。问最少需要花多少钱使得N个城市的福利值都一致。

思路:找到N个城市的福利的最大值,然后所以城市按照这个最大值来补即可。 即N*max(val[i])-sigma(val[i])  [1<=i<=N]

import java.io.PrintWriter;
import java.util.*;

public class Main {
    public static final int MAXN=100+10;
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        PrintWriter out = new PrintWriter(System.out);
        int n=cin.nextInt();
        long maxval=-1,val,sumval=0;
        for(int i=0;i<n;i++){
            val=cin.nextLong();
            sumval+=val;
            maxval=Math.max(maxval,val);
        }
        out.println(1L*n*maxval-sumval);
        cin.close();
        out.flush();
    }
}
原文地址:https://www.cnblogs.com/kirito520/p/6349439.html