205 条题解
信息
- ID
- 104
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 211
- 已通过
- 58
- 上传者
using namespace std;
int v[200],w[200],n,V;
int f(int s,int k)
{
if(s<=0||k==0) return 0;
if(s>=v[k])return max(f(s,k-1),f(s-v[k],k-1)+w[k]);
else return f(s,k-1);
}
int main()
{
cin>>n>>V;
for(int i=1;i<=n;i++) cin>>v[i]>>w[i];
cout<<f(V,n);
}
#include<bits/stdc++.h> using namespace std; int v[200],w[200],n,V; int f(int s,int k) { if(s<=0||k==0) return 0; if(s>=v[k])return max(f(s,k-1),f(s-v[k],k-1)+w[k]); else return f(s,k-1); } int main() { cin>>n>>V; for(int i=1;i<=n;i++) cin>>v[i]>>w[i]; cout<<f(V,n); }