Cod sursa(job #916995)

Utilizator antonioteoZait Teodor Antonio antonioteo Data 17 martie 2013 08:59:40
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#define INF 0x3f3f3f3f 
using namespace std;
const char iname[] = "secv2.in";
const char oname[] = "secv2.out";
ifstream fin(iname);
ofstream fout(oname);
int N, K, i, j, bestSum, minSum, st, dr;
int s[50004];
int main()
{
	bestSum = -1 * INF;
	fin >> N >> K;
	for (i = 1; i <= N; ++i)
	{
		fin >> s[i];
		s[i] += s[i - 1];
		if (s[i] < minSum)
			minSum = s[i],
			st = i;
		if (s[i] - minSum > bestSum && i - st + 1 >= K)
			bestSum = s[i]- minSum,
			dr = i;
	}
	if (N == K)
	{
		fout << 1 << ' ' << N << ' ' << s[N] << '\n';
	}
	else
	{
		fout << st + 1 << ' ' << dr << ' ' << bestSum << '\n';
	}
	return 0;
}