社区讨论

救救

P2512[HAOI2008] 糖果传递参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo35cqsl
此快照首次捕获于
2023/10/24 01:03
2 年前
此快照最后确认于
2023/10/24 01:03
2 年前
查看原帖
有没有大佬帮我改一下代码,人麻了
CPP
#include <bits/stdc++.h>

using namespace std;

long long int n, nums[1000005], ci[1000005], sum[1000005], avg;

int main(){
	cin >> n;
	sum[0] = 0;
	for (int i = 1; i <= n; i++){
		cin >> nums[i];
		sum[i] = sum[i-1]+nums[i];
	}
	avg = sum[n]/n;
	for (int i = 1; i <= n; i++){
		ci[i] = sum[i]-avg*i;
	}
	sort(ci+1, ci+1+n);
	long long int mid = ci[(1+n)/2], ans;
	for (int i = 1; i <= n; i++){
		ans += abs(mid-ci[i]);
	}
	cout << ans;
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...