Cod sursa(job #2118752)

Utilizator marcudanfDaniel Marcu marcudanf Data 30 ianuarie 2018 22:40:01
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int s[500005];

pair <int, int> Min;

int k, n, i1, i2, Max = -2e9;

int main(){
	fin >> n;
	fin >> k;
	for(int i = 1; i <= n; i++){
		int x;
		fin >> x;
		s[i] = s[i-1] + x;
	}
	for(int i = k; i <= n; i++){
		if(Min.first > s[i-k])
			Min = {s[i-k], i-k};
		if(s[i] - Min.first > Max){
			Max = s[i] - Min.first;
			i1 = Min.second + 1;
			i2 = i;
		}
	}
	fout << i1 << ' ' << i2 << ' ' << Max;
	return 0;
}