vijos 1025 背包 *
链接:点我
输入顺序又反了
1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 #include<queue> 7 #include<map> 8 using namespace std; 9 #define MOD 1000000007 10 const int INF=0x3f3f3f3f; 11 const double eps=1e-5; 12 typedef long long ll; 13 #define cl(a) memset(a,0,sizeof(a)) 14 #define ts printf("*****\n"); 15 const int MAXN=1005; 16 int n,m,tt; 17 int dp[MAXN]; 18 int w[MAXN],v[MAXN]; 19 int main() 20 { 21 int i,j,k; 22 int W; 23 scanf("%d",&n); 24 scanf("%d",&W); 25 for(i=0;i<n;i++) scanf("%d%d",&v[i],&w[i]); 26 cl(dp); 27 for(i=0;i<n;i++) 28 { 29 for(j=W;j>=w[i];j--) 30 { 31 dp[j]=max(dp[j],dp[j-w[i]]+v[i]); 32 } 33 } 34 printf("%d\n",dp[W]); 35 }