Cod sursa(job #2582465)

Utilizator Albert_GAlbert G Albert_G Data 16 martie 2020 19:45:40
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb


#include <fstream>
#include <deque>

using namespace std;

const int N = 5*1e6+1;
int v[N];

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

int main()
{
    int n,k;
    long long suma=0;
    in>>n>>k;
    deque <int> mindeq;
    for(int i=0;i<n;i++){
        in>>v[i];
        while(!mindeq.empty() && v[mindeq.front()]>=v[i]){
            mindeq.pop_front();
        }
        mindeq.push_front(i);
        if(i-mindeq.back() >= k){
            mindeq.pop_back();
        }
        if(i>=k-1) suma+=v[mindeq.back()];


    }
    out<<suma;
    return 0;
}