C++-LUOGU2938- [USACO09FEB]股票市场Stock Market-[完全背包]

开O2,开O2,开O2

重要的事情说三遍

 1 #include <set>
 2 #include <map>
 3 #include <cmath>
 4 #include <queue>
 5 #include <vector>
 6 #include <cstdio>
 7 #include <cstdlib>
 8 #include <cstring>
 9 #include <iostream>
10 #include <algorithm>
11 using namespace std;
12 int s,d,m,ans;
13 int p[51][11],f[500001];
14 int main(){
15     scanf("%d%d%d",&s,&d,&m);
16     for(int i=1;i<=s;i++)for(int j=1;j<=d;j++)scanf("%d",&p[i][j]);
17     for(int i=2;i<=d;i++){
18         ans=0;
19         memset(f,0,sizeof(f));
20         for(int j=1;j<=s;j++)
21             for(int k=p[j][i-1];k<=m;k++){
22                 f[k]=max(f[k],f[k-p[j][i-1]]+p[j][i]-p[j][i-1]);
23                 ans=max(ans,f[k]);
24             }
25         m+=ans;
26     }
27     printf("%d\n",m);
28     return 0;
29 }

猜你喜欢

转载自www.cnblogs.com/JasonCow/p/12323212.html