Cod sursa(job #460147)

Utilizator R.A.RFMI Romila Remus Arthur R.A.R Data 1 iunie 2010 13:11:18
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
using namespace std;
ifstream in("secv2.in");
ofstream out("secv2.out");
int N,K,p;
long long S[50001];
int start,end;
long long best = -50000000;
long long Minim[50001];
long nr;
int main ()
{
	int i;
	in>>N>>K;
	for(i=1;i<=N;i++)
	{
		in>>nr;
		S[i]=S[i-1]+nr;
		if(S[i]>Minim[i-1])
			Minim[i]=Minim[i-1];
		else
			Minim[i]=S[i];
	}
	for(i=K;i<=N;i++)
	{
		if(S[i]-Minim[i-K]>best)
		{
			best = S[i]-Minim[i-K];
			end = i;
			start = Minim[i-K];
		}
	}
	i=1;
	while(Minim[i]!=start)
		i++;
	start = i+1;
	out<<start<<' '<<end<<' '<<best<<'\n';
	for(i=1;i<=N;i++)
		out<<S[i]<<' ';
	out<<'\n';
	for(i=1;i<=N;i++)
		out<<Minim[i]<<' ';
	return 0;
}