70pts已解决但是不知道为什么
查看原帖
70pts已解决但是不知道为什么
1049051
JiuZhE66666楼主2023/10/14 17:05
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ll m,n;
    scanf("%lld%lld",&m,&n);
    ll school[m+5]={0};
    ll score[n+5]={0};
    for(ll i=1;i<=m;i++)scanf("%lld",&school[i]);
    sort(school+1,school+m+1);
    ll sum=0;
    for(ll i=1;i<=n;i++)
    {
        ll x;
        scanf("%d",&x);
        ll l=1,r=m+1,mins=1e10;
        while(l<=r)
        {
            ll mid=(l+r)/2;
            if(abs(school[mid]-x)<=abs(mins-x))mins=school[mid];
            if(school[mid]>=x)r=mid-1;
            else l=mid+1;
        }
        sum+=abs(mins-x);
    }
    printf("%lld\n",sum);
    return 0;
}
2023/10/14 17:05
加载中...