TLE WLE RE全齐了 求助
查看原帖
TLE WLE RE全齐了 求助
763869
uhbia楼主2023/7/31 20:13

求助

用的C++ 二分算法

第一个样例答案是对的 但是第二个就过不去了 肯定需要优化 求大佬指点

#include<bits/stdc++.h>
using namespace std;
int n,m,i,k,a[100001],mid;
int ss(int z1,int z2)
{
	k=0;
	mid=(z1+z2)/2;
	for(i=1;i<=n;i++)
		if(a[i]>mid)	k=k+a[i]-mid;
	if(k>m)	ss(z1,mid);
	if(k<m)	ss(mid,z2);
	if(k==m)	return mid;
}
int main()
{
	cin>>n>>m;
	for(i=1;i<=n;i++)
		cin>>a[i];
	sort(a,a+n+1);
	cout<<ss(a[1],a[n]);
	return 0;
}
2023/7/31 20:13
加载中...