50分求助
查看原帖
50分求助
836979
zxhnb楼主2023/8/17 09:57
#include<bits/stdc++.h>
using namespace std;
long long k=0,c,p;
long long n;
struct node{
    int w;
	int v;
}a[10005];
inline bool cmp(node a,node b){
    return a.v >b.v;
}
int main(){
	int sum=a[1].v;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].w>>a[i].v;
    }
     sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++){
    	sum+=a[i].v;
			if (sum<=a[i].v) sum-=a[i].w;
			else sum=a[i].v-a[i].w;
    }
   if(sum<0) cout<<-1;
   else cout<<sum;
	return 0; 
}
2023/8/17 09:57
加载中...