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);
	}
}
相关推荐
java1234_小锋9 分钟前
Java高频面试题:什么是Redis哨兵机制?
java·redis·面试
苦学编程的谢35 分钟前
好运buff机 ------ 测试报告
java·开发语言·功能测试
汤姆yu40 分钟前
基于springboot的智能民宿预定与游玩系统
java·spring boot·后端
黎雁·泠崖42 分钟前
Java常用类核心精讲 · 七篇精华总结
java·开发语言
逆境不可逃1 小时前
【从零入门23种设计模式01】创建型之工厂模式(简单工厂+工厂方法+抽象工厂)
java·spring·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式·工厂模式
重生之后端学习1 小时前
208. 实现 Trie (前缀树)
java·开发语言·数据结构·算法·职场和发展·深度优先
Sayuanni%31 小时前
初阶_多线程2(线程安全)
java
Howie Zphile1 小时前
# 组织增熵与全面预算管理的持续优化
java·大数据·数据库
芒克芒克1 小时前
深入浅出BlockingQueue(二)
java
识君啊1 小时前
Java 栈 - 附LeetCode 经典题解
java·数据结构·leetcode·deque··stack·lifo