C. Set or Decrease

编程入门 行业动态 更新时间:2024-10-22 17:28:49

C. <a href=https://www.elefans.com/category/jswz/34/1767491.html style=Set or Decrease"/>

C. Set or Decrease

题目链接

#include <iostream>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <map>
using namespace std;
#define int long long
const int N = 200010;
typedef pair<int,int>PII;
int a[N],s[N];
int n,k;
bool check(int len,int x)
{int sum=s[n-len]-a[1]+x*(len+1);return sum<=k;
}
void solve()
{memset(s,0,sizeof s);cin>>n>>k;for(int i=1;i<=n;i++)cin>>a[i];sort(a+1,a+n+1);for(int i=1;i<=n;i++)s[i]=s[i-1]+a[i];int res=2e9;for(int i=0;i<=n-1;i++){int l=-1e9,r=1e9;while(l<r){int mid=l+r+1>>1;if(check(i,mid))l=mid;else r=mid-1;}res=min(res,max(0ll,a[1]-l)+i);}cout<<res<<'\n';
}signed main()
{int T;cin>>T;while(T--)solve();
}

更多推荐

C. Set or Decrease

本文发布于:2024-03-23 14:42:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1739383.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Set   Decrease

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!