2 solutions

  • 0
    @ 2025-4-2 16:55:29
    #include <bits/stdc++.h>
    using namespace std;
    
    long long N, A[1000005], eat, mn;
    int main () {
    	
    		cin >> N;
    		eat = 0; mn = 1e7;
    		for (int i = 0; i < N; i++) {
    			cin >> A[i];
    			mn = min(mn, A[i]);
    		}
    		for (int i = 0; i < N; i++) {
    			if (A[i] != mn) {
    				eat += A[i] - mn;
    			}
    		}
    		cout << eat << "\n";
    	
    }
    
    • 0
      @ 2025-4-1 17:09:14

      因为我们只能吃盒子里的糖果。要想让所有盒子里的糖果数量相同,唯一的办法就是让所有糖果的数量等于一个盒子最初拥有的最小糖果数量。因此,我们应该找到这个最小数量,记作 mm ,然后每个盒子都应该吃到 aima_i - m 粒糖果。所以答案就是对于所有的 iiaima_i - m 求和( 1in1 \leq i \leq n )。

      • 1

      Information

      ID
      1443
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      7
      Tags
      (None)
      # Submissions
      167
      Accepted
      37
      Uploaded By