QAQ dalao朋友出的题,好难
网址:https://www.luogu.com.cn/problem/U308671
有没有dashen看看(拜)
#include<bits/stdc++.h>
using namespace std;
string s[100001];
int a[100001],b[100001],d[100001];
int main()
{
int n=0,m=0,cnt=0,sum=0,flag=0;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>s[i]>>a[i]>>b[i];
a[i]-=b[i];
b[i]=a[i];
}
sort(a+1,a+n+1);
while(flag==0&&cnt<=n)
{
if(m>sum)
{
flag=1;
break;
}
sum+=a[cnt];
cnt++;
d[cnt]=a[cnt];
}
if(cnt==0)
{
cout<<"-1"<<endl<<"You can't AC any one!"<<endl<<a[1]-m;
return 0;
}
cout<<cnt<<" "<<m-sum<<endl;
for(int i=0;i<cnt;i++)
{
for(int j=1;j<=n;j++)
if(b[j]==d[i])
{
cout<<s[i]<<endl;
}
}
return 0;
}
感谢!!!