Cod sursa(job #3284554)
| Utilizator | Data | 11 martie 2025 20:52:32 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int a[5000000];
int dq[5000000];
int main() {
int n, k;
long long s = 0;
int ic = 0, sf = -1;
cin >> n >> k;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < n; ++i) {
if (ic <= sf && dq[ic] < i - k + 1) {
ic++;
}
while (ic <= sf && a[dq[sf]] > a[i]) {
sf--;
}
dq[++sf] = i;
if (i >= k - 1) {
s += a[dq[ic]];
}
}
cout << s ;
return 0;
}
