当你main函数没写返回值是
  • 板块灌水区
  • 楼主kamikuQAQ
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/8/13 00:05
  • 上次更新2024/8/13 09:05:29
查看原帖
当你main函数没写返回值是
1226065
kamikuQAQ楼主2024/8/13 00:05

Rt,但是还是可以过评测,有大佬能解释吗

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,a[1000002],b[1000002],ans;
int Find(int i){
	int l=0,r=n+1;
	a[l]=-1,a[r]=INT_MAX;
	while(l+1<r){
		int mid=(l+r)/2;
		if(a[mid]<b[i]){
			l=mid;
		}
		if(a[mid]>b[i]){
			r=mid;
		}
		if(a[mid]==b[i]){
			return 0;
		}
	}
	if(b[i]<=a[1]){
		return a[1]-b[i];
	}else if(l!=r-1){
		return min(abs(b[i]-a[l]),abs(a[r-1]-b[i]));
	}
	return min(abs(b[i]-a[l]),abs(a[r]-b[i]));
}
 main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
    cin>>n>>m;
    for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+1+n);
	for(int i=1;i<=m;i++){
		cin>>b[i];
		ans+=Find(i);
	}
	cout<<ans;
	return 0;
}
2024/8/13 00:05
加载中...