Cod sursa(job #2347927)

Utilizator IoanStoicaStoica Ioan IoanStoica Data 19 februarie 2019 11:21:09
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
#define D 5000005
using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

struct con
{
    int val,poz;
}nr;

int n,k,i;
long long sum;
deque <con> a;

int main()
{
    f>>n>>k;
    for(i=1;i<k;i++)
    {
        f>>nr.val;nr.poz=i;
        while(!a.empty() && nr.val<=a.back().val)
            a.pop_back();
        a.push_back(nr);
    }
    for(i=k;i<=n;i++)
    {
        f>>nr.val;nr.poz=i;
        while(!a.empty() && nr.val<=a.back().val)
            a.pop_back();
        a.push_back(nr);
        sum+=a.front().val;
        if(a.front().poz<=i-k+1)
            a.pop_front();
    }
    g<<sum<<"\n";
}