dalao!本蒟蒻40分求解
查看原帖
dalao!本蒟蒻40分求解
996200
President_Zhao楼主2023/9/9 19:35
#include<bits/stdc++.h>
#define int long long
using namespace std;
int f[1000001],gf[1000001],kun=1;
signed main()
{
    int m,n,total=0;
    cin>>m>>n;
    for(int k=1;k<=m;k++)
    {
        cin>>f[k];
    }
    sort(f+1,f+1+m);
    for(int k=1;k<=n;k++)
    {
        cin>>gf[k];
        int l=1,r=m;
        while(l<=r)
        {
            int mid=(l+r)/2;
            if(f[mid]<=gf[k])
            {
                l=mid+1;
                 kun=mid;
            }
            else
            {
				r=mid-1;
            }
        }
		total+=min(abs(f[min(kun+1,m)]-gf[k]),abs(f[kun]-gf[k]));
    }
    cout<<total;
}
2023/9/9 19:35
加载中...