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;
}
相关推荐
wuweijianlove7 小时前
算法复杂度估算的实验建模与可视化表达的技术6
算法
执笔画流年呀7 小时前
7大排序算法
java·算法·排序算法
AI成长日志7 小时前
【算法学习专栏】动态规划基础·中等两题精讲(198.打家劫舍、322.零钱兑换)
学习·算法·动态规划
计算机安禾7 小时前
【数据结构与算法】第28篇:平衡二叉树(AVL树)
开发语言·数据结构·数据库·线性代数·算法·矩阵·visual studio
测试_AI_一辰7 小时前
AI 如何参与 Playwright 自动化维护:一次自动修复闭环实践
人工智能·算法·ai·自动化·ai编程
tq10868 小时前
价值:社会对劳动所产生的效用增量形成的局部共识
笔记
未来之窗软件服务8 小时前
算法设计—计算机等级考试—软件设计师考前备忘录—东方仙盟
算法·软件设计师·计算机等级考试
未来之窗软件服务8 小时前
哈夫曼树构造—计算机等级考试—软件设计师考前备忘录—东方仙盟
算法·软件设计师·计算机等级考试·仙盟创梦ide·东方仙盟
kpl_208 小时前
智能指针(C++)
c++·c++11·智能指针
A923A8 小时前
【小兔鲜电商前台 | 项目笔记】第八天
前端·vue.js·笔记·项目·小兔鲜