Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <queue>using namespace std;int n;long long q;int data[1000010];int main(){while(scanf("%d%lld", &n, &q) != EOF){for(int i = 0; i < n; ++i)scanf("%d", &data[i]);int l = 1, r = n;int min_ans = n + 1;while(l <= r){int mid = (l + r) >> 1;priority_queue<int> pq;long long sum = 0;int i;for(i = 0; i < mid; ++i)pq.push(data[i]);long long j = 1;for(; i < n; ++i){sum += pq.top()*j;pq.pop();pq.push(data[i]);++j;}while(!pq.empty())