80分求助,WA#3#9
查看原帖
80分求助,WA#3#9
1112605
LQ_Q楼主2024/3/27 17:11
#include<bits/stdc++.h>
using namespace std;
long long int n,m,ans,fs[100050],yg,l,r;
int main(){
	scanf("%lld%lld",&m,&n);
	for(int i=1;i<=m;i++) scanf("%lld",&fs[i]);
	sort(fs+1,fs+1+m);
	for(int i=1;i<=n;i++){
		scanf("%lld",&yg);
		l=1;
		r=m;
		while(l<r){
			if(fs[(l+r)/2]>=yg) r=(l+r)/2;
			else l=(l+r)/2+1;
		}
		if(fs[l]-yg>=yg-fs[l-1]&&l-1!=0) ans+=(yg-fs[l-1]);
		else ans+=(fs[l]-yg);
	} 
	printf("%lld",ans);
}
2024/3/27 17:11
加载中...