Cod sursa(job #933163)

Utilizator Cony818Pamparau Sebastian Cony818 Data 29 martie 2013 17:36:55
Problema A+B Scor 0
Compilator cpp Status done
Runda Lista lui wefgef Marime 1.22 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("gaina.in");
ofstream out("gaina.out");

int v[301][102], n, p[102], nrlin;

void dinamic (int a)
{
    int i, c, mini=0, cop=0, ok, j;
    for (i=1; i<=nrlin; i++)
    {
        c=cop;
        ok=0;
        for(j=a; j<=n; j++)
        {
            if(v[i][j]==0)
            {
                c++;
                if(ok==1)
                {
                    mini++;
                    ok=0;
                }
            }
            if(v[i][j]==1)
            {
                if(c>=mini)
                    mini=c;
                a=j+1;
                ok=1;
                cop=c*2;
                if(j==n)
                    out<<mini;
            }
        }
        if(ok==0)
            cop--;
    }
}

int main()
{
    int i, co, lo;
    in>>n;
    in>>nrlin;
    co=nrlin;
    while(co)
    {
        v[co][1]=1;
        co--;
    }
    for (i=2; i<=n; i++)
    {
        in>>p[i];
        co=p[i];
        lo=nrlin;
        while(co)
        {
            v[lo][i]=1;
            lo--;
            co--;
        }
    }
    dinamic(2);
    in.close();
    out.close();
    return 0;
}