Cod sursa(job #3357944)

Utilizator TestLicenta123Test Test TestLicenta123 Data 13 iunie 2026 22:04:27
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>

int a[5000005], dq[5000005];

int main() {
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);
    
    int n, k;
    scanf("%d%d", &n, &k);
    
    for (int i = 1; i <= n; ++i)
        scanf("%d", &a[i]);
        
    int st = 1, dr = 0;
    long long sol = 0;
    
    for (int i = 1; i <= n; ++i) {
        while (st <= dr && a[dq[dr]] >= a[i])
            --dr;
        dq[++dr] = i;
        
        if (dq[st] == i - k)
            ++st;
            
        if (i >= k)
            sol += a[dq[st]];
    }
    
    printf("%lld", sol);
    
    return 0;
}