Cod sursa(job #1382833)

Utilizator margikiMargeloiu Andrei margiki Data 9 martie 2015 16:49:05
Problema Ferma Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
# include <fstream>
# include <algorithm>
# define NR 12000
# define inf -999999999
using namespace std;
ifstream f("ferma.in");
ofstream g("ferma.out");
int i,j,n,m,x,k,maxx;
int a1[NR], a2[NR], b1[NR], b2[NR];
int main ()
{
    f>>n>>k;

    for (j=1; j<=k+1; ++j)
    {
        a1[j]=inf; a2[j]=inf;
        b1[j]=inf; b2[j]=inf;
    }
    a1[0]=b1[0]=0;

    for (i=1; i<=n; ++i)
    {
        f>>x;
        for (j=1; j<=k+1; ++j)
        {
            a2[j]=max(a1[j]+x, b1[j-1]+x);
            b2[j]=max(a1[j], b1[j]);
        }
        for (j=1; j<=k+1; ++j)
        {
            a1[j]=a2[j]; a2[j]=inf;
            b1[j]=b2[j]; b2[j]=inf;
        }
    }
    maxx=max (a1[k], a1[k+1]);
    maxx=max (maxx, b1[k]);

    if (maxx<0) g<<"0\n";
           else g<<maxx<<"\n";

    return 0;
}