我照着这道题自己打了一个题面,自己出了一道团队内部题,自己造的数据,但原题的每一篇题解都过不了我的数据,只有我自己的代码两道题的数据都能过,就离谱了,是我数据的问题还是题解的问题?
我出的数据点:U506488
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=3e5+100;
struct re{
int tt,bb;
}a[N];
struct Re{
int tt,bb;
}b[N];
int Z,n,t;
int c1,c2;
bool cmp1(re x,re y){
return x.tt<y.tt;
}
bool cmp2(Re x,Re y){
return x.tt+x.bb>y.tt+y.bb;
}
signed main(){
// freopen("10.in","r",stdin);
// freopen("10.out","w",stdout);
cin>>Z;
while(Z--){
c1=0,c2=0;
bool f=1;
cin>>n>>t;
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
if(y>0) a[++c1].tt=x,a[c1].bb=y;
else b[++c2].tt=x,b[c2].bb=y;
}
sort(a+1,a+c1+1,cmp1);
sort(b+1,b+c2+1,cmp2);
for(int j=1;j<=c1;j++){
if(a[j].tt<t){
t+=a[j].bb;
}
else{
f=0;
break;
}
}
for(int j=1;j<=c2;j++){
if(b[j].tt<t){
t+=b[j].bb;
}
else{
f=0;
break;
}
if(t<=0){
f=0;
break;
}
}
if(!f) cout<<"N0"<<'\n';
else cout<<"YE5"<<'\n';
}
return 0;
}