| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 80661 | sh25_wangtaojie | 石子 | C++ | 解答错误 | 0 MS | 248 KB | 659 | 2026-01-04 15:26:25 |
#include <iostream> #include <vector> #include <numeric> #include <algorithm> using namespace std; int main() { int N; cin >> N; vector<int> stones(N); for (int& s : stones) cin >> s; int total = accumulate(stones.begin(), stones.end(), 0); int target = total / N; vector<int> diff(N); for (int i = 0; i < N; ++i) { diff[i] = stones[i] - target; } int moves = 0; for (int i = 0; i < N; ++i) { if (diff[i] > 0) { moves += diff[i]; diff[(i + 1) % N] -= diff[i]; } } cout << moves << endl; return 0; }