kungeruyi @ 2024-06-15 09:22:58
这是我的0分代码,哪里错了???
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,n,a[100010],b;long long ans=0;
cin>>m>>n;
for(int i=1;i<=m;i++){
cin>>a[i];
}
sort(a+1,a+m+1);
for(int i=1;i<=n;i++){
cin>>b;
int pos=lower_bound(a+1,a+n,b)-a;
if(a[pos]>b)
ans+=a[pos]-b;
else
ans+=b-a[pos];
//cout<<"a[pos]="<<a[pos]<<" "<<"ans="<<ans<<endl;
}
cout<<ans;
return 0;
}
by joarith @ 2024-06-15 09:51:50
只给个提示
lower_bound只会返回第一个大于等于目标值的位置
所以line16-17是无效的
by syk_114514 @ 2024-08-20 20:32:11
lower_bound只会返回第一个大于等于目标值的位置!!!