北京下雪啦!!!!!!

我是棕名无钩

@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;
}

@我命由我不由天 不是有高分代码吗

目前信友队第一高楼有几层啊?

@许可越 几万

@言过 我有自己的思路