Cod sursa(job #3031570)

Utilizator Andrei137Neculae Andrei-Fabian Andrei137 Data 20 martie 2023 12:42:21
Problema Deque Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <queue>

typedef std::pair<int, int> pair;

int main()
{
    std::ifstream in("deque.in");
    std::ofstream out("deque.out");
    int n{};
    in >> n;
    int k{};
    in >> k;
    std::priority_queue<pair, std::vector<pair>, std::greater<pair>> q{};
    int i{0};
    while (i < k)
    {
        int temp{};
        in >> temp;
        q.push(std::make_pair(temp, i++));
    }
    long long s{q.top().first};
    q.pop();
    while (i < n)
    {
        while (q.top().second <= i - k)
            q.pop();
        int temp{};
        in >> temp;
        q.push(std::make_pair(temp, i++));
        s += q.top().first;
    }
    out << s;
    in.close();
    out.close();
    return 0;
}