文章

卡牌(2022国赛)

卡牌1.png卡牌2.png

暴力

#include<bits/stdc++.h>
using namespace std;
struct stu{
    long long int a;
    long long int b;
}dp[200005];
int cmp(stu x,stu y){
    if(x.a!=y.a) return x.a<y.a;
    return x.b<y.b;
} 
int main()
{
    long long int n,i,j,sum=0,minn,m;
    cin>>n>>m;
    for(i=1;i<=n;i++) cin>>dp[i].a;
    for(i=1;i<=n;i++) cin>>dp[i].b;
    sort(dp+1,dp+n,cmp);
    minn=400005;
    for(i=1;i<=n;i++){
        minn=min(minn,dp[i].a+dp[i].b);
    }
//  cout<<"minn"<<minn<<endl;
    for(i=1;i<=n;i++){
        if(minn-dp[i].a>0)
            sum+=(minn-dp[i].a);
    }
//  cout<<"sum"<<sum<<endl;
    while(sum>m){
        minn--;
        for(i=1;i<=n;i++){
            if(dp[i].a<minn){
                sum--;
            }
        }
    }
    cout<<minn<<endl;
//  cout<<"ans"<<minn<<endl;
    return 0;
}

原题链接

https://www.lanqiao.cn/problems/2191/learning/

License:  CC BY 4.0