10分求助!(二分答案)
查看原帖
10分求助!(二分答案)
831458
ChenHyz楼主2023/1/24 15:45
#include <bits/stdc++.h>
#define maxsize 1000005
#define ll long long
ll sum=0,m,n,a[maxsize],x;
using namespace std;
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>>x;
		int L=1,R=n+1;
		while(L<R){
			int mid=R+L>>1;
			if(a[mid]>=x) R=mid;
			else L=mid+1;
		}
		if(x-a[L-1]<=a[L]-x) sum+=x-a[L-1];
        else sum+=a[L]-x;
	}
	cout<<sum;
	return 0;
}
2023/1/24 15:45
加载中...