Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
108770 | 曾煦翔 | 均分纸牌 | C++ | 编译错误 | 0 | 0 MS | 0 KB | 780 | 2023-11-04 10:46:56 |
#include<bits/stdc++.h> using namespace std; struct node { int ans; }a[10005]; bool cmp (node x , node y) { return x.ans < y.ans; } int main() { int n; cin >> n; int sum = 0; for(int i = 1;i <= n;i++) { cin >> a[i].ans; sum += a[i].ans; } int cnt = 0; int jun = sum / n; sort(a + 1 , a + n + 1, cmp); for(int i = 1;i <= n;i++) { if(a[i].ans == jun && n % 2 == 1) { cout << (n - 1) / 2; return 0; } } for(int i = 1;i <= n - 1;i++) { if(a[i].ans < jun) { int cha = jun - a[i].ans; a[i + 1].ans = a[i + 1].ans - cha; a[i].ans = jun; cnt++; } else if(a[i] > jun) { int cha = a[i] - jun; a[i + 1] = a[i + 1] + cha; a[i] = jun; cnt++; } } cout << cnt; return 0; }