Cod sursa(job #2148456)

Utilizator stefii_predaStefania Preda stefii_preda Data 1 martie 2018 18:50:26
Problema Deque Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;

ifstream in ("deque.in");
ofstream out ("deque.out");

const int N = 5000005;
int a[N], deq[N];

int main()
{
    int n, k, i;
    in >> n >> k;
    for(i = 1; i <= n; i++)
        in >> a[i];
    int p = 1, u = 1;
    long long S = 0;
    deq[1] = 1;
    for(i = 2; i <= n; i++)
    {
        for(int j = u; j >= 1; j--)
            if(a[deq[j]] >= a[i])
                u--;
                else break;
        u++;
        deq[u] = i;
        if(deq[p] == i - k)
            p++;
        if(i >= k)
            S += a[deq[p]];
    }
    out << S;

    return 0;
}