Cod sursa(job #2888683)

Utilizator VladTalpigaVlad Talpiga VladTalpiga Data 11 aprilie 2022 18:58:16
Problema Deque Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <deque>
#include <fstream>

using namespace std;

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

long long int v[5000001], s = 0;
unsigned int i, n, k;

int main()
{

    f>>n>>k;

    deque <long long int> mydeque(k+5);

    for(i = 1; i <= n; i++)

        f>>v[i];


    for(i = 1; i <= n; i++){

        while(!mydeque.empty() && v[i] < v[mydeque.back()])

            mydeque.pop_back();


        mydeque.push_back(i);

         if(i >= k) {

            s += v[mydeque.front()];
//            cout<<v[mydeque.front()]<<" ";

            if(mydeque.front() == i - k + 1)

                mydeque.pop_front();


    }
    }
    g << s;

f.close();
g.close();

    return 0;
}