Cod sursa(job #3263508)

Utilizator _adeee18Adelina Maria _adeee18 Data 14 decembrie 2024 17:02:13
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <deque>

using namespace std;

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

deque < pair <int, int> > q;
int v[5000001], n, k, s;

int main()
{
    fin >> n >> k;
    for(int i = 1; i <= n; i++)
        fin >> v[i];
    int ind = 1;
    while(ind <= n)
    {
        while( q.size() && q.front().second <ind - k + 1)
            q.pop_front();
        while(q.size() && q.back().first >= v[ind])
            q.pop_back();
        q.push_back(make_pair(v[ind], ind));
        if(ind >= k)
            s += q.front().first;
        ind++;
    }
    fout << s;
    return 0;
}