2024/3/24 蓝桥杯

P1678 烦恼的高考志愿 二分

java 复制代码
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int[] a = new int[n+1];//学校
		int[] b = new int[m+1];//学生
		for(int i=1;i<=n;i++) {
			a[i] = sc.nextInt();
		}
		for(int i=1;i<=m;i++) {
			b[i] = sc.nextInt();
		}
		Arrays.sort(a,1,n+1);
		Arrays.sort(b,1,m+1);
		
		long sum = 0;
		for(int i=1;i<=m;i++) {//枚举学生
			int l = 1, r = n;
			while(l<r) {
				int mid = (l+r)/2;
				if(a[mid]>=b[i]) r = mid;
				else l = mid+1;
			}//找到第一个大于等于学生分数的学校
			if(l == 1)
				sum+=a[1]-b[i];
			if(l>=2)
				sum+=Math.min(Math.abs(a[l]-b[i]),Math.abs(a[l-1]-b[i]));
		}
		System.out.println(sum);
	}
}
相关推荐
ZGG0039 小时前
MySQL 索引详解:B+ 树、聚簇索引与最左前缀
java·数据库·mysql
萧瑟余晖9 小时前
Java深入解析篇五十四之对象模型详解
java·开发语言
张文是假的啊10 小时前
Java | record | Controller逻辑
java·开发语言
勿忘,瞬间10 小时前
Mybatis高阶
java·数据库·mybatis
Nil20811 小时前
leetcode 994腐烂的橘子
算法·leetcode·职场和发展
嘻哈baby11 小时前
Go 函数中的参数为什么不支持默认值?
java·开发语言·jvm
慧都小项11 小时前
MyEclipse 2026:当 Agent、MCP 与 Java 26 进入 Eclipse 工作流
java·eclipse·springboot·copilot·myeclipse
Chester_199911 小时前
CSP202312C.树上搜索
开发语言·数据结构·c++·蓝桥杯·stl
CoderYanger12 小时前
前端基础——JavaScript(基础语法)(下篇)
java·开发语言·前端·javascript·程序人生·面试·职场和发展
京师20万禁军教头12 小时前
39面向对象(高级)-设计模式
java·开发语言·设计模式