@[AFoxOfZzr](/space/show?uid=118086) ~~不如O3~~
\
~~#pragma GCC optimize("O3")~~
by Loser_King @ 2019-05-29 19:10:49
我也是我也是欸。交了份题解里的ac代码,TLE了,数据是不是变过了啊。
by ve_2021 @ 2019-06-02 19:45:53
@[AFoxOfZzr](/space/show?uid=118086) 要开O2优化
by _Rainlzy @ 2019-09-27 06:35:40
~~#pragma GCC optimize("Ofast")~~
by china·xyc @ 2019-11-16 21:21:53
@[AFoxOfZzr](/user/118086) 试试过滤掉下跌的和一张都买不起的股票再DP?
by 035966_L3 @ 2021-08-10 01:11:22
@[AFoxOfZzr](/user/118086)
```cpp
#include<bits/stdc++.h>
using namespace std;
int p[52][12];
int t[500012];
int y[52];
int x[52];
int bag(int n,int m)
{
memset(t,0,sizeof(t));
for(int i=0;i<=m;++i)
for(int j=1;j<=n;++j)
t[i+y[j]]=max(t[i+y[j]],t[i]+x[j]);
int ans=0;
for(int i=m>>1;i<=m;++i)
ans=max(ans,t[i]);
return ans;
}
int main()
{
int s,d,m,sum;
scanf("%d %d %d",&s,&d,&m);
for(int i=1;i<=s;++i)
for(int j=1;j<=d;++j)
scanf("%d",&p[i][j]);
sum=m;
for(int i=1;i<d;++i)
{
memset(y,0,sizeof(y));
memset(x,0,sizeof(x));
int bsc=0;
for(int j=1;j<=s;++j)
if(p[j][i+1]>p[j][i]&&p[j][i]<=sum) bsc++,y[bsc]=p[j][i],x[bsc]=p[j][i+1]-p[j][i];
sum+=bag(bsc,sum);
}
printf("%d",sum);
return 0;
}
```
by 035966_L3 @ 2021-08-10 01:12:57
@[_Rainlzy](/user/166307)
by 035966_L3 @ 2021-08-10 01:13:40
@[ve_2021](/user/101474)
by 035966_L3 @ 2021-08-10 01:13:54