Pagini recente » Cod sursa (job #305626) | Cod sursa (job #733346) | Cod sursa (job #1939704) | Cod sursa (job #760807) | Cod sursa (job #1973221)
#include <stdio.h>
using namespace std;
int a[51][51],ca[51][51];
int main()
{
freopen("pic.in","r",stdin);
freopen("pic.out","w",stdout);
int cer,n,i,l1,l2,j,pp,m,poz,s=0,su=0;
scanf("%d%d",&cer,&n);
l1=1;
l2=10000000;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
scanf("%d",&a[i][j]);
s+=a[i][j];
}
}
while(l1<=l2)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
ca[i][j]=0;
}
}
pp=0;
m=(l1+l2)/2;
ca[1][1]=m;
su=0;
for(i=1;i<=n && pp==0;i++)
{
for(j=1;j<=i;j++)
{
if(ca[i][j]>=a[i][j])
{
ca[i][j]-=a[i][j];
su+=ca[i][j];
if(ca[i][j]>0)
{
ca[i+1][j]+=(ca[i][j]+1)/2;
ca[i+1][j+1]+=ca[i][j]/2;
}
}
}
}
if(su>=s)
{
l2=m-1;
poz=m;
}
else
{
l1=m+1;
}
}
printf("%d",poz);
return 0;
}