#1没过
查看原帖
#1没过
687743
becky0708楼主2024/9/12 20:22
#include<bits/stdc++.h>

using namespace std;

const int ma=1e7+10;
int m,n,sc[ma],st,s=0;

int main(){
	scanf("%d %d",&m,&n);
	for(int i=1;i<=m;++i) scanf("%d",&sc[i]);
	sort(sc+1,sc+1+m);
	for(int i=1;i<=n;++i){
		scanf("%d",&st);
		if(st<=sc[1]) s+=sc[1]-st;
		else if(st>=sc[m]) s+=st-sc[m];
		else{
			int l=1,r=m,mid;
			while(l<=r){
				mid=(l+r)/2;
				if(st<=sc[mid]) r=mid-1;
				else l=mid+1;
			}
			s+=min(sc[l]-st,st-sc[l-1]);
		}
	} 
	printf("%d",s); 
	return 0;
}

到底是哪错了???

2024/9/12 20:22
加载中...