70分,3,8,10点没过。用了二分函数,请你伸出援手!!!
查看原帖
70分,3,8,10点没过。用了二分函数,请你伸出援手!!!
453346
623严佳冶楼主2021/5/16 19:05
#include<bits/stdc++.h>
using namespace std;
int a[100005],b[100005];
int m,n,sum=0;

int main(){
	cin>>m>>n;
	for(int i=1;i<=m;i++)//wkkk
		cin>>a[i];
	sort(a+1,a+m+1);/////
	for(int i=1;i<=n;i++){
		int p1=0,p2=0,pp=0;
		cin>>b[i];
		p1=abs(a[ upper_bound(a+1,a+m+1,b[i])-a ] - b[i]);
		p2=abs(a[ upper_bound(a+1,a+m+1,b[i])-a-1 ] - b[i]);
		pp=min(p1,p2);
		sum+=pp;
				
	}
	cout<<sum<<endl;
	return 0;
}
2021/5/16 19:05
加载中...