Cod sursa(job #2770688)

Utilizator Teodor_AxinteAxinte Teodor-Ionut Teodor_Axinte Data 22 august 2021 17:48:37
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include <iostream>
#include <vector>
#include <deque>

using namespace std;

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

const int N = 5000010;

vector<int> v;
deque<int> d;
int n, k, ans;

int main() {

    fin >> n >> k;
    for (int i = 0; i < n; i++) {
        int x;
        fin >> x;
        v.push_back(x);
    }

    d.push_back(0);

    for (int i = 1; i < v.size(); i++) {
        while (v[i] < v[d[d.size() - 1]]) {
            d.pop_back();
            if (d.empty())
                break;
        }
        d.push_back(i);
        if (d[0] == i - k)
            d.pop_front();
        if (i >= k - 1)
            ans += v[d[0]];


        cout << "Rasp: " << ans << "|||   ";

        for (auto it:d)
            cout << it << " ";
        cout << '\n';
    }

    fout << ans;
    return 0;

}