Cod sursa(job #496527)

Utilizator crazzytudTudor Popa crazzytud Data 29 octombrie 2010 16:10:00
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream>

using namespace std;

const long N=50000;
long v[N],sum[N];
ifstream in("secv2.in");
ofstream out("secv2.out");
int main()
{
	long n,k,i,ic,sfmax,imax,s=0,smax;
	in>>n;
	in>>k;
	
	for(i=1;i<=n;i++)
	{
		in>>v[i];
		sum[i] = v[i] + sum[i-1];
	}
	smax=v[1];
	smax = s = sum[k];
	ic = imax = 1;
	sfmax = k;
	for(i = k+1;i<=n;i++)
	{
		if(sum[i] - sum[i-k] > v[i] + s)
		{
			s = sum[i] - sum[i-k];
			ic = i - k + 1;
		}
		else
			s += v[i];
		
		if(s>smax)
		{
			smax=s;
			sfmax = i;
			imax = ic;
		}
	}
	out<<imax<<" "<<sfmax<<" "<<smax;
	return 0;
}