RingTouSou @ 2023-10-26 22:55:34
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int n,m;
int a[N],b[N];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;++i)
{
cin>>a[i];
}
for(int i=1;i<=m;++i)
{
cin>>b[i];
}
sort(a+1,a+1+n); //学校
int sum=0;
for(int i=1;i<=m;++i)
{
int ans=1e9;
int l=0,r=n+1;
while(l+1<r)
{
int mid=(l+r)/2;
if(a[mid]<b[i])
{
l=mid;
ans=min(ans,abs(b[i]-a[l]));
}
else if(a[mid]>b[i])
{
r=mid;
ans=min(ans,abs(b[i]-a[r]));
}
else
{
ans=0;
break;
}
}
sum+=ans;
}
cout<<sum<<'\n';
return 0;
}
by Miyamizu_Mitsuha @ 2023-10-26 23:07:09
放的hack数据 开 long long 应该就好了
by RingTouSou @ 2023-10-26 23:14:03
@p_Hydroxy 关注了,不过,hack是啥,原谅我啥都不懂
by Miyamizu_Mitsuha @ 2023-10-26 23:14:50
@RingTouSou 卡掉一些程序让程序不能通过此题
by RingTouSou @ 2023-10-27 00:33:10
@RingTouSou 噢噢,那这个hack的是为了干啥的,就单纯的卡数据? (・∀・(・∀・(・∀・*)
by Hatsunatsu @ 2023-10-27 06:54:52
@RingTouSou 有些程序 不是正解,但可以过掉一部分数据。hack是为了让这些能过掉一部分数据的 有误的解法/不适用此题的解法 不能通过。