Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <queue>#include <algorithm>#include <vector>using namespace std;typedef long long lld;const int MAXQ = 1e14;const int N = 100010;int p[N];priority_queue<int> buffer;lld cal(int k, int n){lld ret = 0;int cnt = 1;for (int i = 0; i < n; i++) {if (buffer.size() >= k) {ret += buffer.top() * cnt;cnt += 1;buffer.pop();}buffer.push(p[i]);}while (!buffer.empty()) {ret += buffer.top() * cnt;cnt += 1;buffer.pop();}return ret;