ACM训练题目【糖果传递】

简介: ACM训练题目【糖果传递】


1.题目



2.输入输出案例


输入样例:


4
1
2
5
4


输出样例:


4


3.思路


将问题抽象为数学模型



那么我们的目标就是:



通过限制条件转化为数学公式:



求解方程



上下相消:



依次类推,用x1表示每一个未知数:



朴素化最小值



得到递推式


cn = a拔 - an

那么:



4.代码


#include <bits/stdc++.h>
using namespace std;
const int N = 1000010;
int a[N],c[N];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    long long sum = 0;
    for(int i=1;i<=n;i++)
        sum+=a[i];
    long long avg = sum/n;
    for(int i=n;i>1;i--)
        c[i]=c[i+1]+avg-a[i];
    long long ans = 0;
    sort(c+1,c+n+1);
    for(int i=1;i<=n;i++)
        ans+=abs(c[i]-c[n/2+1]);
    cout<<ans;
    return 0;
}
目录
相关文章
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-478 分数序列
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-478 分数序列
35 0
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
62 1
|
8月前
|
算法 Java Serverless
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
60 1
|
8月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-443 输出数字除本身的所有因子和
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-443 输出数字除本身的所有因子和
45 1
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-588 单词接龙
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-588 单词接龙
63 0
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-49 算法训练 寻找数组中最大值
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-49 算法训练 寻找数组中最大值
58 0
|
8月前
|
安全 数据挖掘 图计算
R软件基于k-mer 的DNA分子序列比较研究及其应用
R软件基于k-mer 的DNA分子序列比较研究及其应用
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-436 算法训练 正六边形
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-436 算法训练 正六边形
53 1
|
8月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-150 6-1 递归求二项式系数值
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-150 6-1 递归求二项式系数值
71 1
|
8月前
|
JavaScript 前端开发 Python
用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
64 0

热门文章

最新文章