Cod sursa(job #2368216)

Utilizator mariastStoichitescu Maria mariast Data 5 martie 2019 14:37:19
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include<fstream>
#include<deque>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
struct cel{
    int val,poz;
}y,z;
deque <cel> q;
int n,k,x;
long long sum;
int main()
{
    f>>n>>k;
    f>>x;
    y.poz=1;
    y.val=x;
    q.push_back(y);
    for(int i=2;i<=n;++i){
        f>>x;
        z=q.back();
        while(x<=z.val){
            q.pop_back();
            if(q.empty()) break;
            z=q.back();
        }
        y.poz=i;
        y.val=x;
        q.push_back(y);
        if(i>=k){
            z=q.front();
            while(z.poz<=i-k){
                q.pop_front();
                z=q.front();
            }
            sum+=z.val;
        }
    }
    g<<sum<<'\n';
}