p1279 過河(完全揹包)
阿新 • • 發佈:2018-12-02
題目
https://www.luogu.org/problemnew/show/P2904
程式碼
#include<bits/stdc++.h>
using namespace std;
inline int read()
{
int f=1,num=0;
char ch=getchar();
while (ch<'0'||ch>'9') { if (ch=='-') f=-1; ch=getchar(); }
while (ch>='0'&&ch<='9') num=(num<<1)+(num<<3) +ch-'0', ch=getchar();
return num*f;
}
int f[2501];
int main()
{
int n=read(),m=read();
for (int i=1;i<=n;++i)
f[i]=11000000;
int tim=m;
for (int i=1;i<=n;++i)
{
int t=read();
tim+=t;
for (int j=i;j<=n;++j)
f[j]=min(f[j],f[j-i]+tim+m)/*,cout<<f[j]<<' '*/;
}
printf("%d\n" ,f[n]-m);
return 0;
}