Cod sursa(job #1697751)

Utilizator pas.andreiPopovici Andrei-Sorin pas.andrei Data 2 mai 2016 20:31:56
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
#include <functional>
#include <string>
#include <cstring>
#include <cmath>
#include <map>
#include <set>
#include <stack>
#define NMAX 100005
#define MOD 1000000007
#define INF 0x3f3f3f3f
#define pb push_back

using namespace std;

typedef pair<int, int> pii;

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

int sp[NMAX];

int main() {
	int n,i,k,minst=INF,res=-INF,st,maxst,maxdr;

	fin>>n>>k;
	for(i=1;i<=n;++i) {
		fin>>sp[i];
		sp[i]+=sp[i-1];
	}

	for(i=k;i<=n;++i) {
		if(sp[i-k] < minst) {
			minst=sp[i-k];
			st=i-k+1;
		}

		if(sp[i]-minst>res) {
			res=sp[i]-minst;
			maxdr=i;
			maxst=st;
		}
		res=max(res,sp[i]-minst);
	}

	fout<<maxst<<' '<<maxdr<<' '<<res;

	return 0;
}