Cod sursa(job #116274)

Utilizator andrei_Andrei Diaconu andrei_ Data 18 decembrie 2007 12:12:40
Problema Operatii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
 #include<fstream.h>
ifstream fi;
ofstream fo;
int i,z=0,k=0;
long n,a[1000];

int numar(int n)
{
 int ok,e,j,k=0;


for(i=1;i<n;i++)
 if(a[i]==a[i+1])ok=1;
  else ok=0;
if(ok==1)k=a[1];
else
   {j=1;
    for(i=j;i<=n;i++)
   {i=j;  e=i;
    while(a[e]==a[e+1])e++;

   if(a[e]==1)k=k+a[e];
   else k=k+a[e]-1;

    if(e!=i)j=e+1;
    else if(j<=n)j++;
  }

   }
 return k;

}
int main()
{fi.open("operatii.in");
 fo.open("operatii.out");
 fi>>n;
 int i=0,p=1,q,jj=0;
 do{ i++;
     q=i;
     fi>>a[i];

     while((a[i]!=0)&&(q<=n))
     {
     a[p]=a[i];
     p++;i=p;q++;
     fi>>a[p];
     jj=1;
     }
     if(jj==1)
     {z=z+numar(p-1);
     i=q;
     p=1;jj=0;
     }
    }while(i<=n);

 fo<<z;
 fi.close();
 fo.close();
return 0;
}