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;
}
相关推荐
载数而行52012 小时前
QT的五类布局
c++·qt·学习
故事和你9112 小时前
sdut-程序设计基础Ⅰ-实验五一维数组(8-13)
开发语言·数据结构·c++·算法·蓝桥杯·图论·类和对象
载数而行52012 小时前
QT的QString类
c++·qt·学习
像污秽一样12 小时前
算法与设计与分析-习题4.2
算法·排序算法·深度优先·dfs·bfs
zl_dfq13 小时前
Python学习2 之 【数据类型、运算及相关函数、math库】
学习
Storynone13 小时前
【Day20】LeetCode:39. 组合总和,40. 组合总和II,131. 分割回文串
python·算法·leetcode
bu_shuo13 小时前
Visual C++2010学习版(全国计算机等级二级考试版)安装记录
c++·cpp·visual c++·计算机二级
明明如月学长14 小时前
AI 更新太快学不过来?我用OpenClaw打造专属AI学习工作流
算法
左左右右左右摇晃14 小时前
HashMap 扩容机制
笔记
黎阳之光14 小时前
【黎阳之光:以无线专网与视频孪生,赋能智慧广电与数字中国】
算法·安全·智慧城市·数字孪生