70分,有啥问题吗
查看原帖
70分,有啥问题吗
332549
幽灵特工楼主2020/9/21 13:00
#include <bits/stdc++.h>
using namespace std;
int m,n;
int sc[100001];//school
int st[100001];//students
int f(int k){
	int l=0,r=m;
	int mid;
	while(l<r){
		mid=(l+r)/2;
		if(sc[mid]==k)return 0;
		if(sc[mid]<k){
			l=mid+1;
			continue;
		}
		if(sc[mid]>k){
			r=mid;
			continue;
		}
		
	}
	return min(abs(sc[l-1]-k),abs(sc[r]-k));
}
int main(){
	cin>>m>>n;	
	for(int i=0;i<m;i++){
		cin>>sc[i];
	}
	sort(sc,sc+m);
	int sum=0;
	int x;
	for(int i=0;i<n;i++){
		cin>>x;
		sum+=f(x);
	}
	cout<<sum;
	
}
2020/9/21 13:00
加载中...