Cod sursa(job #118155)

Utilizator katakunaCazacu Alexandru katakuna Data 23 decembrie 2007 11:44:53
Problema Operatii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
int v[1000000];
int n,i,nr,max,k,j,min,l;

int main(){

FILE *f=fopen("operatii.in","r");
fscanf(f,"%d",&n);

 for(i=1;i<=n;i++){
    fscanf(f,"%d",&v[i]);
 }

fclose(f);

nr=0;

  for(i=1;i<=n;i++){
  j=i;

     if(v[i]!=0){
    max=v[i];
    min=v[i];


       while(v[j]>=v[j+1]&&j<n){
	 if(v[j]>max)
	 max=v[j];
	 if(v[j]<min)
	 min=v[j];
	 j++;

       }

       i=j;

       l=j;

       while(v[l]!=0)l++;



	  for(k=j+1;k<=l-1;k++){

	    if(v[k]<min)v[k]=0;
	      else v[k]-=min;
	  }

     nr+=max;
     }

  }


FILE *g=fopen("operatii.out","w");
fprintf(g,"%d",nr);
fclose(g);

return 0;
}