Cod sursa(job #2877546)

Utilizator RobertAcAcatrinei Robert-Marian RobertAc Data 24 martie 2022 21:49:46
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>
 
using namespace std;
 
ifstream in("deque.in");
ofstream out("deque.out");
 
int main()
{
    int n,k;
    in>>n>>k;
    deque<pair<int,int>> q;
    for(int i=0;i<k;i++)
    {
        int nr;
        in>>nr;
        while(!q.empty()&&q.back().first>=nr)
        {
            q.pop_back();
        }
        q.push_back({nr,i});
    }
    int64_t sum=0;
    for(int i=0,j=k;j<=n;j++,i++)
    {
        while (q.front().second<i)
        {
            q.pop_front();
        }
        //cout<<q.front().first<<endl;
        sum+=q.front().first;
        int nr;
        in>>nr;
        while(!q.empty()&&q.back().first>=nr)
        {
            q.pop_back();
        }
        q.push_back({nr,j});
    }
    out<<sum;
}