贪心算法(算法竞赛、蓝桥杯)--糖果传递

1、B站视频链接:A31 贪心算法 P2512 HAOI2008 糖果传递_哔哩哔哩_bilibili

题目链接:HAOI2008 糖果传递 - 洛谷

cpp 复制代码
#include <bits/stdc++.h> 
using namespace std;
const int N=1000005;
int n,a[N],c[N];
long long b,ans;

int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		b+=a[i];
	}
	b=b/n;
	
	for(int i=2;i<=n;i++){
		c[i]=c[i-1]+a[i-1]-b;
	}
	sort(c+1,c+1+n);
	
	for(int i=1;i<=n;i++){
		ans+=abs(c[i]-c[(n+1)/2]);//取中位数 
	}
	printf("%lld\n",ans);
	
	return 0;
}
相关推荐
鹿角片ljp1 小时前
LeetCode 236. 二叉树的最近公共祖先|递归后序
算法
luj_17681 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
无定义_1 小时前
Floyd——Warshall
算法
带多刺的玫瑰2 小时前
Leecode#9刷题之回文数
数据结构·算法
泯泷2 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷3 小时前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷3 小时前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷3 小时前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷3 小时前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法
Asize3 小时前
54. 螺旋矩阵
算法