Cod sursa(job #2574428)

Utilizator LeperBearMicu Alexandru LeperBear Data 5 martie 2020 22:12:20
Problema Deque Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#define nmax 5000010
#define ios ios_base::sync_with_stdio(false);

using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");

int n,k,i;
int a[nmax],deq[nmax];
int ft,sp;
long long sum;

int main()
{
    ios;
    cin.tie(0);
    cout.tie(0);
    cin>>n>>k;
    for (i=1;i<=n;i++){
        cin>>a[i];
    }
    sp=1;ft=0;
    for (i=1;i<=n;i++){
        while (ft <= sp && a[i] <= a[deq[sp]]) sp--;
        deq[++sp]=i;
        if (deq[ft]==i-k) ft++;
        if (i>=k) sum+=a[deq[ft]];
    }
    cout<<sum;
    return 0;
}