50,求改
查看原帖
50,求改
1036284
LYL__1107楼主2024/8/28 15:08
#include<bits/stdc++.h>
using namespace std;
int n,m,mm[100010],nn[100010];
int l,r,mid,s,minn;
int main(){
	cin>>m>>n;
	for(int i=1;i<=m;i++) cin>>mm[i];
	for(int i=1;i<=n;i++) cin>>nn[i];
	sort(mm+1,mm+m+1);
	for(int i=1;i<=n;i++){
		l=1;
	    r=m;
		minn=1000100;
	    while(l<r){
			
			mid=(l+r)/2;
			if(mm[mid]<nn[i]){
				minn=min(minn,abs(nn[i]-mm[mid]));
				l=mid+1;
				
			}
			else{
				r=mid;
				minn=min(minn,abs(nn[i]-mm[mid]));
			}
			
		}
		s+=minn;
	}
	cout<<s;
}

2024/8/28 15:08
加载中...