hzCPPOJ

翻卡片

时间限制:  3 s      内存限制:   512 MB
提交:57     正确:7     分值:98

题目描述

有 \(n\) 张卡片排成一行,其中 \(n\) 是奇数。每张卡片的两面都有数字。在第 \(i\) 张卡片上,\(a_i\) 是正面朝上的数字,\(b_i\) 是背面朝上的数字。

Grammy 想要最大化所有正面朝上的数字的中位数。为了达到这个目标,她最多可以进行一次以下操作(也可以不进行):

选择一个区间 \([l,r]\),并翻转区间内所有的卡片。翻转后,对于 \(i \in [l,r]\),\(b_i\) 将朝上,\(a_i\) 将朝下。

请帮助 Grammy 计算在她的最优策略下,所有正面朝上的数字的中位数的最大值。

我们定义中位数是一个数列中第 \(\frac{n+1}{2}\) 大的数字。

输入

第一行包含两个整数 \(n\) (\(1 \leq n < 3 \cdot 10^5, n \bmod 2 = 1\)),表示卡片的数量。

接下来的 \(n\) 行每行包含两个整数 \(a_i, b_i\) (\(1 \leq a_i, b_i \leq 10^9\)),表示每张卡片的正面朝上的数字和背面朝上的数字。

输出

一行一个整数表示答案

样例

样例输入:
5 3 6 5 2 4 7 6 4 2 8
样例输出:
6
样例输入:
1 2 1
样例输出:
2

提示

对于\( 30\% \)的数据,满足\( 1 \le n \le 100 \)

对于\( 50\% \)的数据,满足\(1 \le n\le 6000 \)

对于所有数据,满足\( 1\le n \le 3\cdot 10^5 \)

提交人

GGyan