Cod sursa(job #2431084)

Utilizator mariasmmskklns mariasmm Data 17 iunie 2019 23:17:27
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");
int A[5000010];

struct compara
{
    bool operator ()(int x, int y)
    {
        return A[x]>A[y];
    }
};
priority_queue <int, vector<int>, compara>q;


int main()
{

    int n,k;
    long long suma=0;
    f>>n>>k;
    for(int i = 1;i<=n;i++)
        f>>A[i];
    for(int i=1; i<=n; i++)
        {
            q.push(i);
            if (i>=k)
            {while (q.top()<=i-k)
                    q.pop();
            suma+=A[q.top()];
            }
        }

    g<<suma;
    return 0;
}