Cod sursa(job #115215)

Utilizator lamez0rBogdan Bondor lamez0r Data 16 decembrie 2007 11:40:49
Problema Operatii Scor 30
Compilator c Status done
Runda preONI 2008, Runda 2, Clasa a 9-a Marime 0.75 kb
#include <stdio.h>
long int v[10000],n;

int gaseste (void)
     {
     long int c,s,d,i,nr=0,ok;
     ok=1;
     while (ok)
	   {
	   for (i=1;i<=n;i++)
	       {
	       if (v[i]!=0)
		  {
		  c=i;
		  i=n*2;
		  }
	       }
	   if (i==n+1)
	      ok=0;
	   else
	      {
	      s=c;
	      for (i=s;i<=n+1;i++)
		  if (v[i]==0)
		     {
		     c=i-1;
		     i=n*2;
		     }
	      d=c;
	      for (i=s;i<=d;i++)
		  --v[i];
	      ++nr;
	      }
	   }
     return nr;
     }


int main ()
 {
 long int i,x;
 FILE *f;
 f=fopen("operatii.in","r");
 fscanf(f,"%ld",&n);
 for (i=1;i<=n;i++)
     fscanf(f,"%ld",&v[i]);
 fclose(f);
 f=fopen("operatii.out","w");
 x=gaseste();
 fprintf(f,"%ld",x);
 fclose(f);
 return 0;
 }