Cod sursa(job #2368272)
Utilizator | Data | 5 martie 2019 14:59:01 | |
---|---|---|---|
Problema | Deque | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream inf("deque.in");
ofstream outf("deque.out");
deque<int> dq;
int main() {
int n, k, t;
long long rez = 0;
inf >> n >> k;
int add = 0;
for(int i = 1; i <= n; i++) {
add = 1;
inf >> t;
while(!dq.empty() && t < dq.back()) {
dq.pop_back();
add++;
}
while(add--) {
dq.push_back(t);
}
if(i >= k) {
rez += dq.front();
dq.pop_front();
}
}
outf << rez;
return 0;
}