Cod sursa(job #2192589)

Utilizator MoldooooooooMoldoveanu Stefan Moldoooooooo Data 6 aprilie 2018 17:05:00
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <deque>
#define NMax 5000001
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int N, K, i, x, SV[NMax], Sum;
deque <pair <int, int> > Secv;
int main()
{
	fin >> N >> K;
	for (i = 0; i < N; i++) {
		fin >> SV[i];
		if (i >= K && Secv.front().second == (i - K)) Secv.pop_front();
		while (!Secv.empty() && SV[i] < Secv.back().first) Secv.pop_back();
		Secv.push_back(make_pair(SV[i], i));
		if(i>=K-1)Sum += Secv.front().first;
	}
	fout << Sum;
    return 0;
}