Cod sursa(job #3203495)

Utilizator DomnulMilandruMilandru Nicon-David DomnulMilandru Data 13 februarie 2024 19:27:32
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb

#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int n,k;
deque<int> D;
vector<int> A;
long long s;
int main()
{
    cin>>n>>k;
    A.resize(n);
    for(int i=0;i<n;i++)
      cin>>A[i];
    for(int i=0;i<n;i++)
    {
        while(!D.empty() && A[i]<A[D.back()])
          D.pop_back();
        D.push_back(i);
        if(D.front()<=i-k)
          D.pop_front();
        if(i>=k-1)
          s=s+A[D.front()];
    }
    cout<<s;
    return 0;
}