求问 运行以后,主函数输入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;
}