求助,八十分
查看原帖
求助,八十分
336981
竹下的魂楼主2020/7/10 19:47

我已经知道学生信息可以不用数组 不过懒得改咯

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main(){
    int m,n;
    cin>>m>>n;
    int schools[int(1e5+10)];
    int students[int(1e5+10)];
    int sum = 0;
    
    for(int i = 1;i<=m;i++)
        cin>>schools[i];
     
    sort(schools+1,schools+m+1);
    
    for(int i = 1;i<=n;i++)
    {
        cin>>students[i];
        int w = lower_bound(schools+1,schools+m+1,students[i])-schools;
        if(w == m+1)
        {
           sum+=students[i]-schools[w];
        }
        else if(w == 1)
        {
            sum+=schools[w]-students[i];    
        }
        else
            sum+=min(abs(schools[w]-students[i]),abs(schools[w-1]-students[i]));
    }
    cout<<sum;
    return 0;
}
2020/7/10 19:47
加载中...