Cod sursa(job #122993)

Utilizator alex3el_n2oAlex Vladescu alex3el_n2o Data 14 ianuarie 2008 01:27:52
Problema Operatii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
FILE *f=fopen("operatii.in","r"), *g=fopen("operatii.out","w");
int main()
{
long op=0,k,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]);
t=0;
tt=0;
while (p)
{
	i=tt+1;
	t=0;
	tt=0;
	k=1;
	while ((k)&&(i<=n))
		{
		if ((v[i]>0)&&(!t)) {
			t=i;
			}
		if ((v[i]==0)&&(t)) {
			tt=i-1;
			}
		if ((t)&&(tt)) k=0;
		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;
}