Cod sursa(job #542728)

Utilizator scipianusFMI Ciprian Olariu scipianus Data 26 februarie 2011 21:23:02
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#include<cstdio>
using namespace std;
int s[50002];
int main()
{
	int i,n,k,smax=-2000000000,x,suma=0,dr,minim=2000000000,j;
	freopen("secv2.in","r",stdin);
	scanf("%d",&n);
	scanf("%d",&k);
	int inc=1,sf=k;
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);
		s[i]=s[i-1]+x;
	}
	j=1;
	if(n==k)
	{
		inc=1;
		sf=n;
		smax=s[n];
	}
	else
	{
		for(dr=1;dr<n+1;dr++)
		{
			//minim=min(minim,s[dr-1]);
			if(s[dr-1]<minim)
			{
				minim=s[dr-1];
				j=dr;
			}
			suma=s[dr]-minim;
			if(suma>smax && dr-j+1>=k)
			{
				smax=suma;
				inc=j;
				sf=dr;
			}
		}
	}
	ofstream fout("secv2.out");
	fout<<inc<<' '<<sf<<' '<<smax<<"\n";
	fout.close();
	return 0;
}