Pagini recente » Cod sursa (job #499768) | Cod sursa (job #2627967) | Cod sursa (job #2115725) | Cod sursa (job #606512) | Cod sursa (job #933163)
Cod sursa(job #933163)
#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;
}