#3682. 气球(balloon)

气球(balloon)

【题目描述】

为了帮你朋友庆祝生日,你买了一批氦气球。 这批氦气球一共有 nn 个。现在你想为这些氦气球打气。对于第 ii 个氦气球,你至少要充进 aia_i 体积的气体,否则这个氦气球会因为很瘪而变得非常难看。同时,每个氦气球并不能无限充气,最多只能充进 bib_i 体积的气体,否则会爆炸。 你一共有 ss 体积的氦气,准备把这些氦气充进气球中。假设这 nn 个气球分别充进了 x1,x2,⋯ ,xnx_1, x_2, \cdots, x_n 体积的氦气。由于每个气球的体积限制,我们知道 ai≤xi≤bi(1≤i≤n)a_i \le x_i \le b_i (1 \le i \le n)。 现在你想让 x1,x2,⋯ ,xnx_1, x_2, \cdots, x_n 这 nn 个数字的中位数最大,请输出最大的中位数。注意,nn 一定是奇数。

【输入格式】

从文件 balloon.in 中读入数据。 第一行有一个整数 TT,表示数据组数。 对于每组数据,第一行两个整数 nn 和 ss,意义如上。 然后有 nn 行,每行有两个整数 aia_i 和 bib_i。

【输出格式】

输出到文件 balloon.out 中。 输出一共有 TT 行,每一行是一组数据的答案,如果该组数据无法满足要求,输出-1。

【样例 1 输入】

3
3 26
10 12
1 4
10 11
1 1337
1 1000000000
5 26
4 4
2 4
6 8
5 6
2 7

【样例 1 输出】

11
1337
6

【样例 1 解释】

  • 对于第一组数据,x1=12,x2=2,x3=11x_1=12, x_2=2, x_3=11,中位数是 11;
  • 对于第二组数据,x1=1337x_1=1337,中位数是 1337;
  • 对于第三组数据,x1=4,x2=3,x3=6,x4=6,x5=7x_1=4, x_2=3, x_3=6, x_4=6, x_5=7,中位数是 6。

大样例

【数据范围】

  • 对于前 30% 的数据,T≤10T \le 10,0<n≤200 < n \le 20 且 bi−ai≤1b_i - a_i \le 1;
  • 对于另外 30% 的数据,T≤10T \le 10,0<n,s≤1030 < n, s \le 10^3;
  • 对于 100% 的数据,0<∑n≤2×1050 < \sum n \le 2 \times 10^5,0<s≤2×10140 < s \le 2 \times 10^{14};
  • 对于所有数据,0<ai≤bi≤1090 < a_i \le b_i \le 10^9。