在IDE和dev-c++都通过编译了。
#include<iostream>
#include<algorithm>
#define R register int
#define ll long long
using namespace std;
struct node{int x,y;}a[1000005];
bool cmp(node a,node b){return a.x/a.y>b.x/b.y;}
int main(){
int n,m,k,sum=0;
cin>>n>>m>>k;
for(R i=1; i<=n; i++)cin>>a[i].y>>a[i].x;
sort(a+1,a+n+1,cmp);
for(R i=1; i<=n; i++){
if(m>a[i].y){
sum+=a[i].x;
m-=a[i].y;
}
}
if(sum>k)printf("yes\n%d",sum);
else printf("no\n%d",sum);
return 0;
}
请dalao帮忙修改一下