求问
  • 板块灌水区
  • 楼主MESSIALA
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/15 00:10
  • 上次更新2024/12/15 10:51:43
查看原帖
求问
259636
MESSIALA楼主2024/12/15 00:10

求问 运行以后,主函数输入m,n的值,可以正常输出,但是调用bool函数以后,就无法正常输出m,n的值了

#include<bits/stdc++.h>
using namespace std;
#define int long long 
int n,m;
int a[100001],b[100001];
bool f[100001];
bool check(int x)
{
	cout<<"check1nnnnnnnnn"<<n<<"mmmmmmmmm"<<m<<endl; 
	memset(f,false,sizeof(f));
	cout<<"check2nnnnnnnnn"<<n<<"mmmmmmmmm"<<m<<endl; 
	for(int i=1;i<=m;i++)
	{
		cout<<11111111<<endl;
		int l=b[i]-x;
		int r=b[i]+x;
		int j=1;
		while(j<=n)
		{
			if(a[j]>=l&&a[j]<=r)
			{
				f[j]=true;
			}
			j++;
			cout<<1<<endl;
		}
	}
	for(int i=1;i<=n;i++)
		if(!f[i])
			return 0;
	return 1;
}

signed main()
{
	int n,m;
	cin>>n>>m;
	cout<<"nnnnnnnnn"<<n<<"mmmmmmmmm"<<m<<endl; 
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=m;i++)
		cin>>b[i];
	cout<<"nnnnnnnnn"<<n<<"mmmmmmmmm"<<m<<endl; 
	sort(a+1,a+n+1);
	sort(b+1,b+m+1);
	int l=0,r=2000000001,mid,ans;
	while(l<=r)
	{
		cout<<"whilennnnnnnnn"<<n<<"mmmmmmmmm"<<m<<endl; 
		mid=(l+r)/2;
		cout<<2<<endl;
		if(check(mid))
			r=mid-1,ans=mid;
		else
			l=mid+1;
	}
	cout<<ans<<endl;
	return 0;
}
2024/12/15 00:10
加载中...