AC

DING · 发布于 2022-06-11 · 浏览 647 回复 1

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;

}

全部回复 共 1 条

  1. hlt0310 #1 ·

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

发表回复