【二分】【排序】烦恼的高考志愿(luogu P1678)

本文介绍了一个关于高考志愿填报的计算机竞赛题目,要求帮助学生找到与估分最接近的大学分数线,以最小化不满意度总和。通过排序和二分查找算法,可以有效地解决这个问题。给出的解决方案包括了输入输出格式、样例输入输出以及解题思路和代码实现。
摘要由CSDN通过智能技术生成

题目:

计算机竞赛小组的神牛V神终于结束了万恶的高考,然而作为班长的他还不能闲下来,班主任老t给了他一个艰巨的任务:帮同学找出最合理的大学填报方案。可是v神太忙了,身后还有一群小姑娘等着和他约会,于是他想到了同为计算机竞赛小组的你,请你帮他完成这个艰巨的任务。


输入:

现有 m(m≤100000) 所学校,每所学校预计分数线是 a(a<=10^6)a
有 n(n≤100000) 位学生,估分分别为 b(b<=10^6)

根据n位学生的估分情况,分别给每位学生推荐一所学校,要求学校的预计分数线和学生的估分相差最小(可高可低,毕竟是估分嘛),这个最小值为不满意度。求所有学生不满意度和的最小值


输出:

一行,为最小的不满度之和。


样例输入:

4 3
513 598 567 689
500 600 550

样例输出:

32

思路:

这题我们用排序+二分来做,先按预计分数线从低到高排序,然后二分,l为左边界,r为有边界,两个变量的值分别就是0和a+1,然后在中间找最低的和估分比较(特判),否则就把r往左边移,取min值


C o d e Code Code

#include<cstdio>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值