Cod sursa(job #2673764)

Utilizator gavra_bogdanBogdan Gavra gavra_bogdan Data 17 noiembrie 2020 17:36:34
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <deque>
#define ll long long
#define pi pair<int,int>
#pragma GCC optimize ("O3")

using namespace std;

std::deque<pi>dq;

int main() {
	ifstream fin("deque.in");
	ofstream fout("deque.out");
	ios::sync_with_stdio(false);
	fin.tie(0);
	fout.tie(0);
	int n, k, c, s = 0;
	fin >> n >> k;
	for (int i = 1; i <= n; i++) {
		fin >> c;
		if (!dq.empty() and dq.front().second + k - 1 < i) dq.pop_front();
		while (!dq.empty() and dq.back().first >= c) dq.pop_back();
		dq.push_back({ c, i });
		if(i>=k) s += (ll)dq.front().first;
	}
	fout << s;
}