[P1678 烦恼的高考志愿]PA求助各位大佬
  • 板块学术版
  • 楼主snake_XZL
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/6/9 14:18
  • 上次更新2024/6/9 17:00:28
查看原帖
[P1678 烦恼的高考志愿]PA求助各位大佬
1370431
snake_XZL楼主2024/6/9 14:18

其他都AC了,最后一个测试点一直过不了 题目:P1678 烦恼的高考志愿 代码如下:

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=100005;
int n,m,a[N],b,sum;
int b_s(int lf,int rt,int x)
{
    while(lf<rt)
    {
        int mid=(lf+rt)/2;
        if(a[mid]>=x) rt=mid;
        else lf=mid+1;
    }
    return lf;
}
int main(){
	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 sch=b_s(2,m,b);
        if(b<=a[1])
		{
			sum+=a[1]-b;
		}
        else sum+=min(abs(a[sch]-b),abs(a[sch-1]-b));
	}
	cout<<sum;
	return 0;
}

请各位大佬指出错误。Thanks.
2024/6/9 14:18
加载中...