Pagini recente » Cod sursa (job #2302000) | Cod sursa (job #2439476) | Cod sursa (job #1728370) | Cod sursa (job #1990272) | Cod sursa (job #3031568)
#include <fstream>
#include <queue>
typedef long long ll;
typedef std::pair<ll, ll> pair;
int main()
{
std::ifstream in("deque.in");
std::ofstream out("deque.out");
ll n{};
in >> n;
ll k{};
in >> k;
std::priority_queue<pair, std::vector<pair>, std::greater<pair>> q{};
ll i{0};
while (i < k)
{
ll temp{};
in >> temp;
q.push(std::make_pair(temp, i++));
}
ll 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;
}