Cod sursa(job #1955470)

Utilizator ScarymovieMocanu Alexandru Scarymovie Data 5 aprilie 2017 23:51:49
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include<deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,x;long long sum=0;
deque<pair<int,int> >Min;
int main()
{
    f>>n>>k>>x;Min.push_back(make_pair(x,1));
    for(int i=2;i<=n;i++)
        {
            f>>x;
            if(Min.front().second<=i-k)
                Min.pop_front();
            while(Min.back().first>x)
                {
                    Min.pop_back();
                    if(Min.empty())break;
                }
            Min.push_back(make_pair(x,i));
            if(i>=k) sum+=Min.front().first;
        }
    g<<sum<<endl;
    return 0;
}