Cod sursa(job #3216096)

Utilizator radu._.21Radu Pelea radu._.21 Data 15 martie 2024 17:19:22
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
deque<int>Q;
int rez = 0;
ifstream fin("deque.in");
ofstream fout("deque.out");
int v[5000001],n;
int main(){
    /// le tin in ordine crescatoare dupa indice si descresc
    /// dupa valoare
    int k ;
    fin>>n>>k;
   // vector<int>rez;
    for(int i=1;i<=n;i++){
        int x; fin>>x;
        v[i]=x;
            /// scot ce e in plus din fata
            while(!Q.empty() && Q.back()<=i-k)
                Q.pop_back();
            while(!Q.empty() && x < v[Q.front()])
                Q.pop_front();
            Q.push_front(i);
            if(i>=k)
                rez += v[Q.back()];

    }
    fout<<rez;
    return 0;
}