AC
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<array>
using namespace std;
int a[100010];
long long ans;
int main()
{
int m,n;
cin>>m>>n;
for(int i=1;i<=m;i++) cin>>a[i];
sort(a+1,a+m+1);
for(int i=1;i<=n;i++)
{
int s,s1;
cin>>s;
s1=lower_bound(a+1,a+m+1,s)-a;
if(s1==m+1) ans+=s-a[m];
else
if(s1==1)
ans+=a[1]-s;
else
ans+=min(abs(a[s1]-s),abs(s-a[s1-1]));
}
cout<<ans;
return 0;
}
60
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<array>
using namespace std;
array<int,100010> a;
long long ans;
int main()
{
int m,n;
cin>>m>>n;
for(int i=1;i<=m;i++) cin>>a[i];
sort(a.begin(),a.end());
for(int i=1;i<=n;i++)
{
int s,s1;
cin>>s;
s1=lower_bound(a.begin(),a.end(),s)-a.begin();
if(s1==m+1) ans+=s-a[m];
else
if(s1==1)
ans+=a[1]-s;
else
ans+=min(abs(a[s1]-s),abs(s-a[s1-1]));
}
cout<<ans;
return 0;
}
这个array和数组有什么区别