RKcer21 @ 2019-06-12 21:25:31
RT,
#include<bits/stdc++.h>
using namespace std;
long long i,ans,j,k,n,m,t;
long long a[100000];
int main()
{
cin>>m>>n;
for (i=1;i<=m;i++)
{
cin>>a[i];
}
sort(a+1,a+m+1);
for(i=1;i<=n;i++)
{
cin>>k;
t=lower_bound(a+1,a+m+1,k)-a;
if (abs(a[t]-k)>(abs(a[t-1]-k))) ans+=abs(a[t-1]-k);
else ans+=abs(a[t])-k;
}
cout<<ans;
return 0;
}
by linluke @ 2019-06-12 21:29:35
@俞科chen21 您把a开100001试下
by RKcer21 @ 2019-06-12 21:31:33
@linluke 还是70分。。
by linluke @ 2019-06-12 21:36:50
@俞科chen21 要特判,如果k实在太小,就直接输出a[1]-k
by RKcer21 @ 2019-06-12 21:37:39
@linluke 能给个测试点看看吗
by RKcer21 @ 2019-06-12 22:27:40
@linluke 不用了,我现在已经可以了。
by dabuone @ 2019-06-30 16:04:12
hhh