Cod sursa(job #2623426)

Utilizator CosminMorarMorar Cosmin Andrei CosminMorar Data 3 iunie 2020 10:26:14
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, v[5000100];
deque<int> d;
long long sol;

void add(int x) {
	while (!d.empty()) {
		if (x >= d.back())
			break;
		d.pop_back();
	}
	d.push_back(x);
}

int main() {
	fin >> n >> k;
	for (int i = 1; i <= k; i++) {
		fin >> v[i];
		add(v[i]);
	}
	sol += (long long)d.front();
	for (int i = k + 1; i <= n; i++) {
		if (v[i - k] == d.front())
			d.pop_front();
		fin >> v[i];
		add(v[i]);
		sol += (long long)d.front();
	}
	fout << sol;
    return 0;
}