样例过了,但是全WA了
查看原帖
样例过了,但是全WA了
360444
230syh楼主2022/11/12 11:50
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,m,sum=0,l,r,mid,tmp;
    cin>>n>>m;
    int school[n],student[m];
    for(int i=0;i<n;i++)
        cin>>school[i];
    for(int i=0;i<m;i++)
        cin>>student[i];
    sort(school,school+n);
    for(int i=0;i<m;i++){
        l=0,r=n;
        while(l<=r){
            mid=(l+r)/2;
            if(school[mid]>student[i])
                r=mid-1;
            else if(school[mid]<student[i])
                l=mid+1;
            else
                break;
        }
        tmp=abs(school[mid]-student[i]<abs(school[mid+1]-student[i]))?school[mid]-student[i]:abs(school[mid+1]-student[i]);
        tmp=tmp<abs(school[mid-1]-student[i])?tmp:abs(school[mid-1]-student[i]);
        sum+=tmp;
    }
    cout<<sum;
}

可能有点乱, 你们可以买点西瓜,准备吃席

2022/11/12 11:50
加载中...