Cod sursa(job #2781820)

Utilizator Langa_bLanga Radu Langa_b Data 10 octombrie 2021 15:42:01
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
struct numar {
	int val, poz;
};
deque<numar> deq;
long long n, k, s;
int main() {
	cin >> n >> k;
	for (int i = 1; i <= n; i++) {
		int nr;
		cin >> nr;
		while (deq.empty() != 1 && deq.front().poz < i - k + 1) {
			deq.pop_front();
		}
		while (deq.empty() != 1 && deq.back().val > nr) {
			deq.pop_back();
		}
		numar x;
		x.val = nr;
		x.poz = i;
		deq.push_back(x);
		if (i >= k) {
			s += deq.front().val;
		}
	}
	cout << s;
}