Cod sursa(job #2808252)

Utilizator mariaionescu2006Ionescu Maria mariaionescu2006 Data 24 noiembrie 2021 19:32:30
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
const int nmax=5000005;
deque <int>dq;
int a[nmax],n,k;
int main()
{
    long long sum=0;
    fin >>n>>k;
    for (int i=1;i<=n;i++)
        {fin >>a[i];
         while (!dq.empty() && a[dq.back()]>=a[i])
               {dq.pop_back();}
         dq.push_back(i);
         if (dq.front()<=i-k) {dq.pop_front();}
         if (i>=k) {sum=sum+a[dq.front()];}}
    fout <<sum<<'\n';
    return 0;
}