1. 程式人生 > >p1279 過河(完全揹包)

p1279 過河(完全揹包)

題目

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; }