Cod sursa(job #515733)

Utilizator cosminvdpruna stefan cosminvd Data 22 decembrie 2010 11:50:25
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
const int maxn=50001;;
int  n,k,a[maxn],s[maxn],pmin,pmax,i;
int ic=1,sf=1,pc=1;
int smax=-2000000;
void dp()
{
	int smin=20000000;
	/*for(i=1;i<=n;i++)
	{
		if(s[i]<smin)
		{
			smin=s[i];
			pmin=i;
			pc=i;
		}
		if(s[i]-smin>smax)
		{
			smax=s[i]-smin;
		pmax=i;
		ic=pc;
		sf=i;
		}
	}*/
		for(i=k;i<=n;i++)
	{
		if(s[i-k]<smin)
		{
			smin=s[i-k];
			pmin=i-k;
			pc=i;
		}
		if(s[i]-smin>smax)
		{
			smax=s[i]-smin;
			pmax=i;
			ic=pc;
			sf=i;
		}
	}
}
int main()
{
	freopen("secventa.in","r",stdin);
	freopen("secventa.out","w",stdout);
	scanf("%d %d",&n,&k);
	s[0]=0;
	for(i=1;i<=n;i++)
	{
		scanf("%d ",&a[i]);
	s[i]=s[i-1]+a[i];
}
dp();
//printf("%d\n",smax);
for(i=sf;i>ic+1;i--)
	printf("%d ",a[i]);
return 0;
}