2 秒262,144 kb
20 分
3 級題
小b想給幼兒園的孩子們分發糖果,有 n 個孩子排成了一排,小b已經根據每個孩子的表現給他們打分。
你需要按照以下要求,幫助小b給這些孩子分發糖果:
首先,每個孩子至少分配到 1 個糖果;
其次,相鄰的孩子中,如果評分不同,則評分高的孩子必須獲得更多的糖果。
請問小b至少需要準備多少顆糖果呢?
收起
第一行乙個整數n,表示孩子數,其中0<n≤50000;第二行n個數表示不同孩子的評分,以空格隔開,每個數不超過50000。
輸出乙個數,表示最多所需的糖果數
31 2 2
4
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define eps (1e-8)
#define max 0x3f3f3f3f
#define u_max 1844674407370955161
#define l_max 9223372036854775807
#define i_max 2147483647
#define re register
#define pushup() tree[rt]=tree[rt<<1]+tree[rt<<1|1]
#define nth(k,n) nth_element(a,a+k,a+n); // 將 第k大的放在k位
#define ko() for(int i=2;i<=n;i++) s=(s+k)%i // 約瑟夫
#define ok() v.erase(unique(v.begin(),v.end()),v.end()) // 排序,離散化
#define catalan c(2n,n)-c(2n,n-1) (1,2,5,14,42,132,429...) // 卡特蘭數
using namespace std;
inline int read()
while(c >= '0' & c <= '9') x = x * 10 + c - '0', c = getchar();
return x * f;
}typedef long long ll;
const double pi = atan(1.)*4.;
const int inf = 0x3f3f3f3f;
const ll inf = 0x3f3f3f3f3f3f3f3fll;
const int m=63;
const int n=1e5+5;
struct fun;
struct cmp
};priority_queue,cmp>qq;
int a[n],b[n];
int main());
}fill(b,b+n+1,inf);
while(!qq.empty())
ll ans=0;
for(int i=1;i<=n;i++)
ans+=b[i];
printf("%lld\n",ans);
return 0;
}
(思維)2476 小b和序列
2 秒262,144 kb 20 分 3 級題 小b有乙個長度為n的序列a,她想求maxi你能幫幫她嗎?樣例解釋 選擇a2a2和a9a9,答案為min 8,7 9 2 49min 8,7 9 2 49,不存在其他選法答案更大,因此最大值就是49。收起第一行乙個數n,0 n 50000 第二行n個數表...
牛客提高訓練營2B 分糖果
題目 發現自己一年之前非常垃圾 題目大意是給你乙個 n 個點的環,給每個點乙個 1,a i 的取值,並且滿足環上任意相連兩點權值不能相等,求方案數 考慮斷環為鏈,發現不大會 不妨考慮所有 a i 均相等的情況,設 m a i 對於第乙個點,有 m 種選擇,其後每乙個點的取值都不能和上乙個相等,即 m...
問題 B 小biu放牛 二分 貪心
第二天叫醒我的不是鬧鐘,是夢想!題目描述 第1行 3個數n x m,中間用空格分隔 1 n 50000,1 x 10 9,1 m 10 9 第2 n 1行 每行1個數pi,對應木樁的位置 0 pi pi 1 m 並且給出的資料是有序的。輸出 輸出最長繩子的最小值。如果碼頭排不下所有船則輸出 1。樣例...