烦恼的高考志愿

烦恼的高考志愿

[题目链接]https://www.luogu.com.cn/problem/P1678?contestId=147354

题意

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

思路

如果直接各自扫一遍,ON^2 显然超时。其实是很明显的二分题。关键便是在动态二分的过程中确定最小值即可。

算法一:二分查找,sort排序

实现步骤
  1. 对于每个b[i],在排好序的a[N]中查找最接近的即可。
  2. 查找的过程中更新min。
代码
 #include
#include
using namespace std;
int main()
{
	int m,n;//m为学校数,n为学生数
	cin>>m>>n;
	int a[m],b[n];
	for(int i=0;i>a[m]>>b[n];
		}
	}
	for(int i=0;i

总结

x

你可能感兴趣的:(c++)