我是棕名无钩
@stringdp100005 你有钩!其次你不是棕名吧?
我没钩,其次我是棕名
看了眼 GESP7 的橙题,不会
@stringdp100005 你有钩呀,洛谷栗我看了不是棕名
但是我很像棕名
@览遍千秋 我把《上帝》这道题目变了一下《上帝的游戏》没有变,现在保证 AI 不可能这么快 AC 真的!
(帖子已被作者删除)
周末作业写完了吗?
- 写完了
- 没写完
- 我不道啊
- AK IOI 去了,没时间!!!
0
投票人
哪位勇士投了AK IOI去了,没时间!!!?
请站出来
完了啊,小班不会就我一个七年级吧
写作文ing
@言过 应该是的,还有能帮我个忙吗?
来啦牢弟
@言过 okk,普及+ 补充题 T4 我一直 WA20
代码:
#include<bits/stdc++.h>
#define I using
#define AK namespace
#define IOI std
#define i_ak return
#define ioi 0
#define i_will signed
#define ak main
#define IMO ()
#define int long long
I AK IOI;
const int MAXN=1000005;
int n,k,h[MAXN];
void print(__int128 x){
if(x<0){
putchar('-');
x=-x;
}
if(x>9)print(x/10);
putchar(x%10+'0');
}
bool check(int x){
__int128 cnt=0;
for(int i=1;i<=n;i++)if(h[i]>=x)cnt+=h[i]-x+1;
return cnt<=k;
}
__int128 cal(int x){
__int128 tot=0,r=k;
for(int i=1;i<=n;i++){
if(h[i]>=x){
int num=h[i]-x+1;
if(r>=num){
tot+=(x+h[i])*num/2;
r-=num;
}
else{
int top=h[i]-r+1;
tot+=(top+h[i])*r/2;
r=0;
}
}
if(r==0)break;
}
return tot;
}
i_will ak IMO{
freopen("Lingzhi.in","r",stdin);
freopen("Lingzhi.out","w",stdout);
cin>>n>>k;
for(int i=1;i<=n;i++)cin>>h[i];
sort(h+1,h+n+1,greater<int>());
int l=1,r=2e9,ans=0;
while(l<=r){
int mid=l+(r-l)/2;
if(check(mid)){
ans=mid;
r=mid-1;
}
else l=mid+1;
}
print(cal(ans));
i_ak ioi;
}
@我命由我不由天 不是有高分代码吗
目前信友队第一高楼有几层啊?
@许可越 几万
@言过 我有自己的思路