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

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;
}
相关推荐
FL16238631299 分钟前
基于C#winform部署软前景分割DAViD算法的onnx模型实现前景分割
开发语言·算法·c#
baizhigangqw1 小时前
启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶
算法·启发式算法·web app
C雨后彩虹1 小时前
最多等和不相交连续子序列
java·数据结构·算法·华为·面试
cpp_25012 小时前
P2347 [NOIP 1996 提高组] 砝码称重
数据结构·c++·算法·题解·洛谷·noip·背包dp
Hugh-Yu-1301232 小时前
二元一次方程组求解器c++代码
开发语言·c++·算法
编程大师哥2 小时前
C++类和对象
开发语言·c++·算法
加农炮手Jinx3 小时前
LeetCode 146. LRU Cache 题解
算法·leetcode·力扣
Rabitebla3 小时前
C++ 和 C 语言实现 Stack 对比
c语言·数据结构·c++·算法·排序算法
加农炮手Jinx3 小时前
LeetCode 128. Longest Consecutive Sequence 题解
算法·leetcode·力扣
旖-旎3 小时前
递归(汉诺塔问题)(1)
c++·学习·算法·leetcode·深度优先·递归