Cod sursa(job #2887719)

Utilizator mirceaspPetcu Mircea mirceasp Data 10 aprilie 2022 03:29:38
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int main() {
    int n,k,x,i;
    f>>n>>k;
    i = 0;
    int v[n+1];
    int d[n+1];
    int suma = 0;
    while (f>>x)
    {
        v[i] = x;
        i++;
    }
    int spate = 0;
    int fata = 0;
    int size = 0;
    int nr = 0;
    for(i = 0;i<n;i++)
    {
        while (size > 0 && v[i]<=v[d[spate]])
        {
            spate--;
            size --;
        }
        if(nr == 0) {
            d[spate] = i;
            nr = 1;
        }
        else
        d[++spate] = i;
        if(i>=k-1)
            suma += v[d[fata]];
        if(d[fata]==i-k+1)
            fata++;

        size = spate - fata+1;



    }

    g<<suma;
    f.close();g.close();
    return 0;
}