我是靠谱客的博主 认真水壶,最近开发中收集的这篇文章主要介绍【BZOJ3293】[Cqoi2011]分金币【绝对值不等式】【中位数】【数形结合】,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

【题目链接】

同【BZOJ1045题解】

/* Pigonometry */
#include <cstdio>
#include <algorithm>

using namespace std;

typedef long long LL;

const int maxn = 1000005;

int n, num[maxn];
LL C[maxn], M;

inline int iread() {
	int f = 1, x = 0; char ch = getchar();
	for(; ch < '0' || ch > '9'; ch = getchar()) f = ch == '-' ? -1 : 1;
	for(; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';
	return f * x;
}

inline LL llabs(LL x) {
	return x > 0 ? x : -x;
}

int main() {
	n = iread();
	for(int i = 1; i <= n; i++) num[i] = iread(), M += num[i];

	M /= n;
	C[0] = 0;
	for(int i = 1; i < n; i++) C[i] = C[i - 1] + num[i] - M;
	sort(C, C + n);

	LL ans = 0, mid = C[n >> 1];
	for(int i = 0; i < n; i++) ans += llabs(mid - C[i]);

	printf("%lldn", ans);
	return 0;
}


最后

以上就是认真水壶为你收集整理的【BZOJ3293】[Cqoi2011]分金币【绝对值不等式】【中位数】【数形结合】的全部内容,希望文章能够帮你解决【BZOJ3293】[Cqoi2011]分金币【绝对值不等式】【中位数】【数形结合】所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部