Cod sursa(job #2876684)

Utilizator Teodor_AxinteAxinte Teodor-Ionut Teodor_Axinte Data 23 martie 2022 13:46:59
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, k, x, ct, okay;
long long s;
deque<int> dq;
vector<int> v;

int main() {
    fin >> n >> k;
    for (int i = 0; i < n; i++) {
        fin >> x;
        v.push_back(x);
    }
    //for(auto it:v)
    //  fout<<it<<" ";
    dq.push_back(0);
    for (int i = 1; i < n; i++) {
        okay = 0;
        if (i == dq[0] + k)
            dq.pop_front();
        while (v[i] < v[dq[dq.size() - 1]]) {
            okay = 1;
            dq.pop_back();
            if (dq.empty())
                break;
        }


        dq.push_back(i);
        if (i >= k - 1) {
            s += v[dq[0]];
            cout << i << " " << v[dq[0]] << '\n';
        }
    }

    fout << s;
    return 0;
}