Cod sursa(job #2029072)

Utilizator rangal3Tudor Anastasiei rangal3 Data 29 septembrie 2017 10:36:32
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <queue>
#define in "deque.in"
#define out "deque.out"
#define N 5000003

using namespace std;

ifstream fin(in);
ofstream fout(out);

int n,k,x;
long long S = 0;

priority_queue< pair<int,int> > coada;

int main()
{
    fin>>n>>k;

    for(int i=1; i<=k; ++i)
    {
        fin>>x;
        coada.push(make_pair(-x,i));
    }

    S += -coada.top().first;

    for(int i=k+1; i<=n; ++i)
    {
        fin>>x;
        coada.push(make_pair(-x,i));

        while(coada.top().second <= i-k) coada.pop();
        S += - coada.top().first;
    }

    fout<<S;

    fin.close(); fout.close();
    return 0;
}