Pagini recente » Cod sursa (job #1314802) | Cod sursa (job #1060924) | Cod sursa (job #1187455) | Cod sursa (job #917761) | Cod sursa (job #3031570)
#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;
}