博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
烦恼的高考志愿
阅读量:6034 次
发布时间:2019-06-20

本文共 961 字,大约阅读时间需要 3 分钟。

题目:

根据n位学生的估分情况,分别给每位学生推荐一所学校,要求学校的预计分数线和学生的估分相差最小(可高可低,毕竟是估分嘛),这个最小值为不满意度。求所有学生不满意度和的最小值。读入数据有三行,第一行读入两个整数m,n。m表示学校数,n表示学生数。第二行共有m个数,表示m个学校的预计录取分数。第三行有n个数,表示n个学生的估分成绩。输出数据有一行,为最小的不满度之和。

解题思路:

Sort+二分

设l为0,r为n+1,如果x(学校的预计录取分数)[mid]≤y(自然就是学生分数了),我们就把边界往大的一边缩,反之往小的一边缩,然后取min,特判看下面

Accepted code:

#include
#include
using namespace std;int n,m,x[100001],y;int zl(int x) {
return x>0?x:-x;}//absint min(int x,int y){
return x>y?y:x;}int main(){ scanf("%d%d",&n,&m); for (int i=1;i<=n;i++) scanf("%d",&x[i]); sort(x+1,x+n+1); int ans=0; for (int i=1;i<=m;i++) { scanf("%d",&y); int l=0,r=n+1; while(l
>1; if (x[mid]<=y) l=mid+1; else r=mid; } if (y<=x[1])//这个特判不加会WA ans+=x[1]-y; else ans+=min(zl(x[l-1]-y),zl(x[l]-y)); } printf("%d",ans); return 0;}

转载于:https://www.cnblogs.com/Juruo-HJQ/p/9470491.html

你可能感兴趣的文章
Cisco IOU 模拟器测试感受
查看>>
编写grains自定义脚本
查看>>
经典的静态路由的实验
查看>>
Android系统特质 不需要太多剩余内存
查看>>
算法之选择排序算法
查看>>
我的第一篇博客 Java数据流_1
查看>>
软件需求规格说明书
查看>>
MPLS 标签分发详解
查看>>
Basics of How SMTP Works
查看>>
Cocos2d-x编程中的runOnUiThread方法和runOnGLThread方法剖析
查看>>
在一个公司待上多久跳槽最合适?
查看>>
我的友情链接
查看>>
8Python全栈之路系列之MySQL触发器
查看>>
字符串转换
查看>>
图说:Windows 8的Metro电脑设置(控制面板)
查看>>
Linux中mysql修改用户名密码
查看>>
各种颜色的十六进制代码
查看>>
MySQL 5.6的72个新特性
查看>>
linux hash_map的使用(g++)
查看>>
批量创建AD用户
查看>>