Cod sursa(job #2625657)
| Utilizator | Data | 6 iunie 2020 06:03:09 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n, k, v[5000001], deque[5000001];
int main() {
int p = 1, q = 0, i;
long long s = 0;
f >> n >> k;
for(i = 1; i <= n; ++i)
f >> v[i];
for(i = 1; i <= n; ++i) {
while (p <= q && v[i] < v[deque[q]])
q--;
deque[++q] = i;
if (deque[p] == i - k)
p++;
if (i >= k)
s = s + v[deque[p]];
}
g << s;
return 0;
}
