求助
查看原帖
求助
401641
_MJawa_楼主2021/2/8 16:13

我的代码连样例都没过,却拿了50,求助……

#include <bits/stdc++.h>
#define rint register int
#define ll long long
using namespace std;
int QWQWQ;char qwqwq;
int rd()
{
    QWQWQ=0;qwqwq=getchar();
    while(qwqwq<'0'||qwqwq>'9')qwqwq=getchar();
    while(qwqwq>='0'&&qwqwq<='9'){QWQWQ=QWQWQ*10+(qwqwq-48);qwqwq=getchar();}
    return QWQWQ;
}
int n,a[1000006],b,ans,rs;
std::priority_queue<int ,vector<int > ,std::greater<int > > q;

int main(){
    n=rd(),b=rd();
    for(rint i=1;i<=n;i++)a[i]=rd();
    for(rint i=1;i<=n;i++)q.push(a[i]);
    ans=rs=q.top();
    while(1)
    {
        int tmp;
        for(rint i=1;i<=rs;i++)
        {
            if(!b)break;
            tmp=q.top();q.pop();
            q.push(tmp+1);
            b--;
        }
        tmp=q.top();
        if(tmp-ans==0)break;
        rs=tmp-ans;ans=tmp;
        if(!b)break;
    }
    printf("%d",ans);
    return 0;
}求助
2021/2/8 16:13
加载中...