Cod sursa(job #181266)

Utilizator DraStiKDragos Oprica DraStiK Data 18 aprilie 2008 09:43:26
Problema Secventa 2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>
int a[50001];
int n,s,ci,k,maxk;
int b[50001];
int main ()
{
	freopen ("secv2.in","r",stdin);
	freopen ("secv2.out","w",stdout);
	int i,max,p;
	scanf ("%d%d",&n,&p);
	for (i=1; i<=n; ++i)
	scanf ("%d",&a[i]);
	s+=a[1];
	max=a[1];
	b[++k]=a[1];
	ci=1;
	for (i=2; i<=n; ++i)
	{
	s+=a[i];
	b[++k]=a[i];
	if (s<0)
	{
	   s=0;
	   ci=i+1;
	   k=0;
	}
	if (s>max && k>=p)
	{
	   max=s;
	   maxk=k;
	}
	}
	printf ("%d %d %d\n",ci,ci+maxk-1,max);
   /*	for (i=1; i<=maxk; ++i)
	printf ("%d ",b[i]);  */
	return 0;
}