Cod sursa(job #419400)

Utilizator RengelBotocan Bogdan Rengel Data 17 martie 2010 13:53:32
Problema Operatii Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>
FILE *fin=fopen("operatii.in","r");
FILE *fout=fopen("operatii.out","w");
int v[1000001], k,q,i,j,n,y,min,mk;
int main(){
	fscanf(fin,"%d",&n);
	y=0; k=0;
	for(q=1;q<=n;q++){
		fscanf(fin,"%d",&v[q]);
		if(v[q]) k++;
	}
	do{
		i=mk;
		while(!v[i]) i++;
		mk=i;
		j=i;
		min=v[i];
		while(v[j]){
			j++;
			if(v[j] && v[j]<min) min=v[j];
		}
		for(q=i;q<j;q++){
			v[q]-=min;
			if(!v[q]) k--;
		}
		y+=min;
	}while(k);
	fprintf(fout,"%d",y);
	fclose(fin);
	fclose(fout);
	return 0;
}