1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int c[110],r[110]; int f[110000]; int main() { int n,m;scanf("%d%d",&n,&m); for(int i=1;i<=n;i++)scanf("%d%d",&c[i],&r[i]),r[i]-=c[i]; memset(f,0,sizeof(f)); for(int i=1;i<=n;i++)if(r[i]>0) { for(int j=c[i];j<=m;j++) { f[j]=max(f[j],f[j-c[i]]+r[i]); } } int p=m;while(p>0&&f[p]==f[p-1])p--; printf("%d\n",f[p]+m-p); return 0; }
- 1
信息
- ID
- 1586
- 时间
- 500ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 171
- 已通过
- 36
- 上传者