左脑攻击右脑,过载代替思考 • 4个月前
#include<bits/stdc++.h>
using namespace std;
int w[1001],v[1001];
int d[2][1000001];
int main(){
int n,c;
cin>>n>>c;
for(int i=1;i<=n;i++) cin>>w[i];
for(int j=1;j<=n;j++) cin>>v[j];
for(int i=1;i<=n;i++){
for(int j=1;j<=c;j++){
if(j>=w[i]){
d[i%2][j]=max(d[(i-1)%2][j-w[i]]+v[i],d[(i-1)%2][j]);
}else{
d[i%2][j]=d[(i-1)%2][j];
}
}
}
cout<<d[n%2][c];
return 0;
}
评论:
请先登录,才能进行评论