Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<cstring>#include<queue>#include<iostream>#include<algorithm>#define maxn 100500using namespace std;typedef long long LL;int n,ans=-1;LL m;LL a[maxn];priority_queue<LL> q;void init(){scanf("%d%lld",&n,&m) ;for (int i=1;i<=n;++i)scanf("%lld",&a[i]);}bool check(int x){LL cnt=0,sum=0;for (int i=1;i<=n;++i){// if (sum>m) return 0;q.push(a[i]);if (i>=x){sum+=(++cnt)*q.top();q.pop();}}