Cod sursa(job #2454932)

Utilizator silviu982001Borsan Silviu silviu982001 Data 10 septembrie 2019 12:32:30
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <deque>
#include <vector>

using namespace std;

int main() {
    
    deque<int> dq;
    vector<int> v;
    ifstream fin("deque.in");
    int n, k;
    long long s = 0;
    fin >> n >> k;
    v.resize(n);
    for (int i = 0; i < n; ++i)
        fin >> v[i];
    fin.close();
    dq.push_back(0);
    
    for (int i = 1; i < n; ++i)
    {
        while (!dq.empty() && v[i] < dq.back())
            dq.pop_back();
        dq.push_back(i);
        if (i - dq.front() >= k)
            dq.pop_front();
        s += v[dq.front()];
    }
    
    ofstream fout("deque.out");
    fout << s;
    fout.close();
    
    return 0;
}