bzoj1617

来源:互联网 发布:数学建模的算法 编辑:程序博客网 时间:2024/06/05 03:27

刷水题有助身心健康、

#include<bits/stdc++.h>using namespace std;#define FOR(i,s,t) for(int i=(s);i<=(t);i++)inline int read(void){    int x = 0, c, f = 1;    do{c=getchar();if(c=='-')f=-1;}while(c<'0'||c>'9');    do{x=x*10+c-'0';c=getchar();}while(c>='0'&&c<='9');    return x * f;}const int N = 2600;int f[N], a[N], n, M;int main(){    n = read(), M = read();    for (int i = 1; i <= n; i++) a[i] = a[i - 1] + read();    for (int i = 1; i <= n; i++) {        f[i] = M + a[i];        for (int j = i - 1; j; j--)            f[i] = min(f[i], f[j] + 2 * M + a[i - j]);    }    cout << f[n] << endl;}
原创粉丝点击