10ER`(*>﹏<*)′
查看原帖
10ER`(*>﹏<*)′
1593174
wanjunyu2013楼主2025/6/22 13:47

似了

#include <bits/stdc++.h>
using namespace std;
int main(){
	int x,cn=0,m,a[100001],n,i,b[100001],l,r,mid;
	cin>>n>>m;
	for(i=1;i<=n;i++)cin>>a[i];
	sort(a+1,a+n+1);
	for(i=1;i<=m;i++)cin>>b[i];
	for(i=1;i<=m;i++){
		l=1;r=n;
		while(l<r-1){
			mid=(l+r)/2;
			if(b[i]>=a[mid])
			l=mid;
			else r=mid;
		}
		cn+=abs(b[i]-a[l])<abs(a[r]-b[i])?abs(b[i]-a[l]):abs(a[r]-b[i]);
	}
	cout<<cn;
}
2025/6/22 13:47
加载中...