P1678 烦恼的高考志愿求助!!!
查看原帖
P1678 烦恼的高考志愿求助!!!
755674
Markcpp13楼主2022/7/22 13:01

请各位大佬看看为什么会错。 我输入样例后结果一直不出来,好像是死循环。 以下是代码。

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int const N=100005;
int n,m,i,k,l,r,mid,temp,s,a[N];
long long ans;
int main()
{
	scanf("%d%d",&m,&n);
	for(i=1;i<=m;i++)
	 scanf("%d",&a[i]);
	sort(a+1,a+m+1);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&k);
		l=1;r=n;
		while(l<r)
		{
			mid=(l+r)>>1;
			if(a[mid]==k)
			{
				temp=mid;
				break;
			}
			else if(a[mid]>k)
			 r=mid;
			else l=mid;
		}
		ans+=abs(a[temp]-k);
	}
	printf("%lld",ans);
}

本人能力有限,希望回复时能说的简单点。

2022/7/22 13:01
加载中...