各位大佬看看改成long long后还是不能通过Subtask #1
查看原帖
各位大佬看看改成long long后还是不能通过Subtask #1
1093402
yayayalll楼主2023/12/29 23:21
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;

int main(){
	long long m,n;
	long long arr[100010],num[100010],l,r,mid,count=0;
	cin>>m>>n;
	for(int i=0;i<m;i++){
		cin>>arr[i];
	}
	for(int i=0;i<n;i++){
		cin>>num[i];
	}
	sort(arr,arr+m);
	for(int i=0;i<n;i++){
		l=0,r=m-1;
		while(l<r){
			mid=(l+r+1)/2;
			if(arr[mid]<=num[i])
			l=mid;
			else
			r=mid-1;
		}
		count+=min(abs(arr[l]-num[i]),abs(arr[l+1]-num[i]));	
	}
	cout<<count<<endl;	
}
2023/12/29 23:21
加载中...