Cod sursa(job #2502826)

Utilizator FlorianMarcuMarcu Florian Cristian FlorianMarcu Data 1 decembrie 2019 17:36:55
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#include <iostream>
#include <deque>

std::ifstream fin("deque.in");
std::ofstream fout("deque.out");

std::deque<std::pair<long long,long long>> A;
long long N, K, X, count = 1, poz=1;
long long S;
int main()
{
	fin >> N >> K;
	for (long long i = 1; i <= N; i++) {
		fin >> X;
		if (!A.empty() and i - K == A.front().second)
			A.pop_front();
		while (!A.empty() and X <= A.back().first)
			A.pop_back();
		A.push_back(std::make_pair(X,i));
	
		if (i >= K)
			S += A.front().first;
	}
	fout << S;
}