Cod sursa(job #2280533)

Utilizator flibiaVisanu Cristian flibia Data 10 noiembrie 2018 19:42:20
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, k, dp[50100], bst = -2e9, st, dr;
set <pair <int, int > > s;

int main() {
	in >> n >> k;
	for (int i = 1; i <= n; i++) {
		in >> dp[i];
		dp[i] += dp[i - 1];
	}
	s.insert({0, 0});
	for (int i = k; i <= n; i++) {
		auto it = *s.begin();
		if (dp[i] - it.first > bst) {
			bst = dp[i] - it.first;
			st = it.second + 1;
			dr = i;
		}
		s.insert({dp[i - k + 1], i - k + 1});
	}
	out << st << ' ' << dr << ' ' << bst;
	return 0;
}