Cod sursa(job #3257891)

Utilizator Martin_BohonyiMartin Bohonyi Martin_Bohonyi Data 19 noiembrie 2024 19:55:07
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
#include<deque>
using namespace std;

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

int N , K , v[5000001];
long long Sum;
deque<int>Dq;

int main()
{
fin>>N>>K;
for(int i=1 ; i<=N ; ++i)
    fin>>v[i];

for(int i=1 ; i<=N ; ++i){
    if(!Dq.empty() && Dq.front() < i-K+1)
           Dq.pop_front();
    while(!Dq.empty() && v[Dq.back()] >= v[i])
           Dq.pop_back();
    Dq.push_back(i);
    if(i>=K)
        Sum+=v[Dq.front()];
 }

fout<<Sum;
return 0;
}