29| 高考志愿

代码实现

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

typedef long long LL;
const int N = 2e5 + 10; 
LL a[N], b[N], ret, m, n;

int main()
{
	cin >>  m >> n;
	for (int i = 1; i <= m; i++) cin >> a[i];
	for (int i = 1; i <= n; i++) cin >> b[i];
	sort(a+1,a+m+1); 
	for (int i = 1; i <= n; i++)
	{
		LL x = b[i];
		// 左边界 
		int l = 1, r = m;
		while(l < r) 
		{
			int mid = (l + r) >> 1;
			if (a[mid] < x)  l = mid + 1;
			else r = mid;
		}
		int retl = l;
		// 右边界
		l = 1, r = m;
		while(l < r) 
		{
			int mid = (l + r + 1) >> 1;
			if (a[mid] > x)  r = mid - 1;
			else l = mid;
		} 
		ret += min(abs(x-a[l]),abs(x-a[retl]));
	}
	cout << ret << endl;
	return 0;
}
相关推荐
代码村新手3 小时前
C++-多态
开发语言·c++
玖釉-3 小时前
旋转图像:从矩阵转置、镜像到坐标变换的系统理解
c++·windows·算法·图形渲染
魔法阵维护师4 小时前
从零开发游戏需要学习的c#模块,第二十章(2D 敌人与战斗触发)
学习·游戏·c#
gubilei4 小时前
网络安全学习之综合知识点
学习
咸甜适中4 小时前
rust语言学习笔记Trait(九)PartialEq、 Eq(相等比较)
笔记·学习·rust
fengenrong4 小时前
20260522
算法
玄米乌龙茶1234 小时前
LLM成长笔记(七): AI 应用框架与编排
前端·人工智能·笔记
一条大祥脚4 小时前
Codeforces Round 1099 (Div. 2) 构造|贪心|图论|还原数组
java·算法·图论
searchforAI4 小时前
视频画面里的PPT怎么提取?视频转图文讲义的实操教程
人工智能·学习·ai·aigc·powerpoint·音视频·贴图
互联网江湖4 小时前
贝壳一季报,等来春暖花开?
笔记