Cod sursa(job #2627515)

Utilizator jucatorul7Grigore George Alexandru jucatorul7 Data 11 iunie 2020 07:01:50
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include<fstream>

using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int deq[5000001];
int v[5000001];
int main()
{
    int n,k,i,ultimul=0,primul=1;
    long long suma=0;
    f>>n>>k;
    for (i =1; i<=n; i++)

        f>>v[i];

    for (i=1; i<=n; i++)
    {
        while (primul<=ultimul&&v[i]<=v[deq[ultimul]])
            ultimul--;
        deq[++ultimul] = i;
        if (deq[primul] == i - k)
            primul++;
        if (i>=k)
            suma+=v[deq[primul]];
        //for(int j=1; j<=n; j++)cout<<deq[j]<<" ";cout<<"\n";
    }
    g<<suma;
    return 0;
}