题解:P17831 [CSP-S 2026] 能量水晶
lailai0916 · · 题解
解题思路
将
维护前缀最优长度
总时间复杂度
参考代码
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const int N=500005;
ll a[N];
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
ll m;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
int l=1;
ll sum=0;
for(int i=1;i<=n;i++)
{
sum+=a[i];
if(a[i]*(i-l+1)-sum>m)sum-=a[l++];
}
cout<<n-l+1<<'\n';
return 0;
}