Cod sursa(job #122990)

Utilizator alex3el_n2oAlex Vladescu alex3el_n2o Data 14 ianuarie 2008 01:22:52
Problema Operatii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>
FILE *f=fopen("operatii.in","r"), *g=fopen("operatii.out","w");
int main()
{
long op=0,t,tt,n,i,v[1000002],max;
int p=1;
fscanf(f,"%ld",&n);
for (i=1;i<=n;i++)
	fscanf(f,"%ld",&v[i]);
while (p)
{
	i=1;
	t=0;
	tt=0;
	while (((!t)||(!tt))&&(i<=n))
		{
		if ((v[i]>0)&&(!t)) {
			t=i;
			}
		if ((v[i]==0)&&(t)) {
			tt=i-1;
			}
		i++;
		}
	if ((t)&&(i==n+1)) tt=n;
	if (t>0)
	{
		max=v[t];
		for (i=t;i<=tt;i++)
			{
			if (v[i]>max) max=v[i];
			v[i]=0;
			}
		op+=max;
	}
	if (t==0) p=0;
}
fprintf(g,"%ld\n",op);
return 0;
}