最小差异
内存限制: 512 Mb时间限制: 1000 ms
题目描述
Bob 有 n 个数对,第 i 个是 (ai,bi),同时有两个桶,初始都为空。
Bob 会对于i=1,2,⋯,n,依次选择 ai,bi 中的恰好一个,并任意加入到他的任意一个桶中。
最终,Bob 的两个桶里必须都非空,他想要最小化两个桶中最大元素的差值,请求出这个值。
输入格式
第一行一个整数 n。
接下来 n 行,每行两个整数 ai,bi 表示一个数对。
输出格式
一行一个整数表示答案。
数据范围
对于 30% 的数据,n≤18。
对于 60% 的数据,n≤1000。
对于 100% 的数据,22≤n≤2×10^5,1≤ai,bi≤10^9。
样例数据
输入:
2
1 6
4 9
输出:
2
说明:
在 (1,6) 中选择 6 放入桶 1
在 (4,9) 中选择 4 放入桶 2
两个桶最大元素的差值为 6-4=2。
输入:
2
1 9
4 6
输出:
3
说明:
在 (1,9) 中选择 9 放入桶 1
在 (4,6) 中选择 6 放入桶 2
两个桶最大元素的差值为 9-6=3。
解析:可以将所有数字按从小到大的顺序排列, 从头开始统计有多少个数对,若已有数对个数达到n,证明可以取后边只要不是一个数对中的两个数,这两个数就是最大值和次大值,求这些差值中的最小值即为答案,详见代码:

最低0.47元/天 解锁文章
463

被折叠的 条评论
为什么被折叠?



