您这常数也太神仙了吧
by FerventTemp0 @ 2020-07-28 11:17:54
@[xiexiaobin](/user/279777) ~~因为您其他地方耗时太多了,导致读入时间要非常短~~
by KokiNiwa @ 2020-07-28 15:49:57
@[YouthRhythms](/user/75715) 哦,谢谢了。
by Lucky_Star @ 2020-07-28 16:06:54
@[xiexiaobin](/user/279777) ~~其实我觉得我的上一句话没有什么营养。。。~~
by KokiNiwa @ 2020-07-28 16:19:01
@[YouthRhythms](/user/75715) 我主要是想确定一个优化方向。
by Lucky_Star @ 2020-07-28 16:30:44
@[HansBrent](/user/279777) 试试过滤掉下跌的和一张都买不起的股票再DP?
by 035966_L3 @ 2021-08-09 13:52:01
```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-09 13:54:14