問題 K 貪心 糖果傳遞

2021-09-25 15:19:25 字數 841 閱讀 1363

題目描述

有n個小朋友坐成一圈,每人有ai個糖果。每人只能給左右兩人傳遞糖果。每人每次傳遞乙個糖果代價為1。

輸入第一行乙個正整數nn<=1'000'000,表示小朋友的個數.

接下來n行,每行乙個整數ai,表示第i個小朋友得到的糖果的顆數.

輸出求使所有人獲得均等糖果的最小代價。

複製樣例資料

412

54

樣例輸出

4
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 1000010

typedef long long ll;

using namespace std;

int n;

int s[1000010],ss[1000010];

int main()

pj=sum/n;

for(i=1;i<=n;i++)

ss[i]=s[i]+ss[i-1]-pj;

// for(i=1;i<=n;i++)

// cout

for(i=1;i<=n;i++)

jg+=abs(ss[i]-ss[(n+1)/2]);

printf("%lld\n",jg);

return 0;

}

糖果傳遞問題

今天接觸到這道水題,才發現 我好菜啊t t 廢話少說,革命尚未成功,同志們還需努力啊!這道題用到了字首和 歸納法 貪心思想。看到題我們可以馬上想到求平均值,之後嘛 乙個乙個數唄 he tui t t進入正題。分析 首先設x i 表示i 1向i傳的糖果數 可以為正也可以為負 特殊的x n 表示1向n傳...

糖果傳遞 貪心,絕對值不等式)

有n個小朋友坐成一圈,每人有a i 個糖果。每人只能給左右兩人傳遞糖果。每人每次傳遞乙個糖果代價為1。求使所有人獲得均等糖果的最小代價。輸入格式 第一行輸入乙個正整數n,表示小朋友的個數。接下來n行,每行乙個整數a i 表示第i個小朋友初始得到的糖果的顆數。輸出格式 輸出乙個整數,表示最小代價。資料...

發糖果問題 二分 貪心

注 與cf上的sweets for everyone 不一樣 幾個關鍵點 1.剛開始的位置是0。2.在時間充裕的前提下,如果手上的糖不夠,可以路過h不發糖,去s買了回來再發。3.但是每個s只能買一次糖。4.如果時間t內不能給所有鄰居發完糖果,則輸出 1。5.為了剛開始帶最少的糖果,每經過乙個s一定買...