AC

DING  •  2年前


include<bits/stdc++.h>

using namespace std; int dp[1000001],w[10005],v[10005]; int main(){

int n,c;
cin>>n>>c;
for(int i=1;i<=n;i++){
	cin>>w[i]; 
}
for(int i=1;i<=n;i++){
	cin>>v[i];
}
for(int i=1;i<=n;i++){
	for(int j=c;j>=1;j--){
		if(j>=w[i]){
			dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
		}
	}
}
cout<<dp[c];
return 0;

}


评论:

nC<=10^9,O(nC)的算法为什么能过?


hlt0310  •  6个月前

请先登录,才能进行评论