Cod sursa(job #394655)

Utilizator AnteusPatrascoiu Mihai Anteus Data 11 februarie 2010 12:20:10
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
FILE *f=fopen ("secv2.in", "r");
FILE *g=fopen ("secv2.out", "w");
int v[50001],n,k,i,max=-1,k2,x,pozi,pozf;

int main() {
fscanf (f, "%d%d", &n, &k);
for (i=1;i<=n;i++)
{
	fscanf (f, "%d", &x);
	
	if (v[i-1]+x>0)
	{
		v[i]=v[i-1]+x;
		k2++;
		if (k2>=k)
			if (v[i]>=max)
			{
				max=v[i];
				pozf=i;
				pozi=i-k2+1;
			}
	}
	
	else
	{
		v[i]=0;
		k2=0;
		
	}

}
if (max==-1)
{
	fclose(f);
	FILE *f=fopen ("secv2.in", "r");
	fscanf (f, "%d%d", &n, &k);
	
	for (i=1;i<=n;i++)
	{
		fscanf (f, "%d", x);
		max+=x;
	}
	
	fprintf (g, "%d %d %d", 1, n, max);
}
else
	fprintf (g, "%d %d %d", pozi, pozf, max);

return 0;
}