Cod sursa(job #2489818)

Utilizator Dorin07Cuibus Dorin Iosif Dorin07 Data 9 noiembrie 2019 12:05:49
Problema Deque Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <deque>
#include <vector>
#include <fstream>
#define N 10000001
using namespace std;

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

deque < int > q;
long long n, k, ans;
vector < int > v;

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

    for(int i = 0; i <= k-1; ++i){
            while(!q.empty() && v[q.back()] > v[i])
                    q.pop_back();
    q.push_back(i);
    }
    ///indexam de la 0
    for(int i = k - 1; i < v.size(); ++i){
            if(i - q.front() == k)
                q.pop_front();
            while(!q.empty() && v[q.back()] > v[i])
                q.pop_back();
            q.push_back(i);
            ans += v[ q.front() ];
    }
    fout<<ans;
}