烦恼的高考志愿 洛谷P1678
2025-02-14 18:56:26
发布于:四川
3阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int mi=1e6;
const int N=1e5+10;
int a[N],b[N];
void func(int l,int r,int x){
if(l>r){
return;
}
int mid=(l+r)/2;
if(a[mid]<x){
l=mid+1;
mi=min(mi,x-a[mid]);
}else if(a[mid]>x){
r=mid-1;
mi=min(mi,a[mid]-x);
}else{
mi=0;
return;
}
func(l,r,x);
}
int main()
{
int n,m;
cin>>n >>m;
priority_queue<int> q;
for(int i=0;i<n;i++){
int x;
cin>>x;
q.push(-x);
}
for(int i=0;i<n;i++){
a[i]=-q.top();
q.pop();
//cout << a[i] << " ";
}
for(int i=0;i<m;i++){
cin>>b[i];
}
long long s=0;
for(int i=0;i<m;i++){
mi = 1e9;
func(0,n-1,b[i]);
s+=mi;
}
cout<<s;
return 0;
}
这里空空如也
有帮助,赞一个