二分题70分 WA了3个点
查看原帖
二分题70分 WA了3个点
170410
向晚楼主2021/8/25 16:34

回来复习二分发现这道题没写 结果过不去
蒟蒻求帮助

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int m,n,a[100005],b[100005],ans; 
int main(){
	cin>>m>>n;
	for(int i=1;i<=m;i++) cin>>a[i];
	sort(a+1,a+m+1);
	for(int i=1;i<=n;i++) cin>>b[i];
	for(int i=1;i<=n;i++){
		int l=0,r=m;
		while(l<r){
			int mid=(l+r)/2;
			if(a[mid]<=b[i]) l=mid+1;
			else r=mid;
		}
		ans+=min(abs(a[l]-b[i]),abs(a[l-1]-b[i]));
	}
	cout<<ans;
	return 0;
} 
2021/8/25 16:34
加载中...