too_simple @ 2021-07-17 19:43:59
#include<bits/stdc++.h>
using namespace std;
const int N=5050;
int x[N],y[N],js[N],m,f[1010],ans;
int main() {
int n,a,b,s;
cin>>n>>s>>a>>b;
a+=b;
for(int i=1;i<=n;++i) {
cin>>x[i]>>y[i];
if(x[i]<=a) {
m++;
js[i]=y[i];
}
}
for(int i=1;i<=m;++i) {
for(int j=s;j>=js[i];--j) {
f[j]=max(f[j],f[j-js[i]]+1);
}
}
cout<<f[s]<<endl;
return 0;
}
by 阿巴人上人 @ 2021-07-29 16:32:41
AC代码如下
#include<bits/stdc++.h>
using namespace std;
int n,s,a,b,i,y[5001];
int main()
{
scanf("%d%d%d%d",&n,&s,&a,&b);
a=a+b;
for(i=0; i<n; i++)
{
int x;
scanf("%d%d",&x,&y[i]);
if(x>a)i--,n--;
}
sort(y,y+n);
for(i=0; i<n; i++)
if(s-y[i]<0)break;
else s-=y[i];
printf("%d",i);
}
by too_simple @ 2021-09-08 18:24:33
@阿巴人上人 谢啦