Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <queue>#include <iostream>#include <functional>using namespace std;bool calcPunish(int size, vector<int> list, long long Q){priority_queue<int> p;if (size == 0) {size = 1;}for (int i = 0; i < size; i++) {p.push(list[i]);}long long punish = 0;long long index = 1;for (int i = size; i < list.size(); i++) {punish += index * p.top();if (punish > Q)return false;p.pop();p.push(list[i]);index++;}while (!p.empty()) {punish += index * p.top();