题目描述
股票 | 今天的价格 | 明天的价格 | 后天的价格 |
A | 10 | 15 | 15 |
B | 13 | 11 | 20 |
输入
输出
• 单个整数:表示奶牛可以获得的最大钱数,保证这个数不会超过 500000
样例输入
样例输出
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 const int N=500005; 7 int gi(){ 8 int str=0;char ch=getchar(); 9 while(ch>'9' || ch<'0')ch=getchar(); 10 while(ch>='0' && ch<='9')str=str*10+ch-48,ch=getchar(); 11 return str; 12 } 13 int w[55][15],f[N]; 14 int main() 15 { 16 int n=gi(),m=gi(),S=gi(),tmp; 17 for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)w[i][j]=gi(); 18 for(int i=1;i<m;i++) 19 { 20 memset(f,0,sizeof(f)); 21 for(int j=1;j<=n;j++) 22 { 23 for(int k=w[j][i];k<=S;k++) 24 { 25 tmp=f[k-w[j][i]]+w[j][i+1]-w[j][i]; 26 if(tmp>f[k])f[k]=tmp; 27 } 28 } 29 S+=f[S]; 30 } 31 printf("%d",S); 32 return 0; 33 }