Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<iostream>#include<queue>#include<cstring>using namespace std;priority_queue<int>Q;int n;long long q;int k=-1;int tip[100003];bool check(int m){long long sum=0;for(int i=1;i<=m;i++){Q.push(tip[i]);}for(int i=1;i<=n;i++){sum+=Q.top()*i;Q.pop();if(i+m>n)continue;else Q.push(tip[i+m]);}/*for(int i=n-m+1;i<=n;i++){sum+=Q.top()*i;Q.pop();}*/if(sum<=q){if(k==-1)k=m;else{k=min(k,m);