Cod sursa(job #1260948)

Utilizator vladrochianVlad Rochian vladrochian Data 11 noiembrie 2014 19:37:48
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
using namespace std;

const int kMaxN = 50005, kInfinity = 0x3f3f3f3f;

ifstream fin("secv2.in");
ofstream fout("secv2.out");

int N, K, s[kMaxN], mn = kInfinity, mn_pos, sol = -kInfinity, sol_start, sol_end;

int main() {
	fin >> N >> K;
	for (int i = 1; i <= N; ++i) {
		int x;
		fin >> x;
		s[i] = s[i - 1] + x;
		if (i >= K) {
			if (s[i - K] < mn) {
				mn = s[i - K];
				mn_pos = i - K + 1;
			}
			if (s[i] - mn > sol) {
				sol = s[i] - mn;
				sol_start = mn_pos;
				sol_end = i;
			}
		}
	}
	fout << sol_start << " " << sol_end << " " << sol << "\n";
	return 0;
}