Cod sursa(job #3143861)

Utilizator contandrei3Andrei Mihai contandrei3 Data 2 august 2023 16:45:01
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque <int> q;
int s,n,k,x,a[5000005],i;
int main()
{
    //citesc primele K elemente si ac intra in deque
    //bag la spate si scot din fata
    fin>>n>>k;
    for (i=1;i<=n;i++)
        {
            fin>>a[i];
        }
    q.push_back(1);
    for (i=2;i<=k;i++)
        {
            while(!q.empty()&&a[i]<=a[q.back()]) q.pop_back();
            q.push_back(i);
        }
    s=a[q.front()];
    for (i=k+1;i<=n;i++)
        {
            while (!q.empty()&&q.front()+k<=i) q.pop_front();
            while (!q.empty()&&a[i]<=a[q.back()]) q.pop_back();
            q.push_back (i);
            s+=a[q.front()];
        }
    cout<<s;
    return 0;
}