trang chủ / bài tập / salchange

Tối đa hóa median lương

Đề bài

Mô tả

Bạn quản lý một công ty có n nhân viên (với n là số lẻ). Bạn có s đồng để chi trả lương, và nhân viên thứ i phải được trả một mức lương nguyên nằm trong đoạn [li,ri].

Hãy phân phối lương sao cho median (số ở giữa) của dãy lương là lớn nhất có thể.

Median của một dãy gồm số lẻ phần tử là phần tử ở vị trí giữa sau khi sắp xếp tăng dần. Ví dụ:

  • Median của [5,1,10,17,6]6.
  • Median của [1,2,1]1.

Bạn không bắt buộc phải tiêu hết s đồng. Tổng số li luôn không vượt quá s (luôn đủ tiền để trả mức lương tối thiểu cho mọi người).

t truy vấn độc lập, hãy in ra median lớn nhất có thể đạt được cho mỗi truy vấn.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số truy vấn.
  • Mỗi truy vấn:
    • Dòng đầu chứa hai số nguyên ns.
    • n dòng tiếp theo, dòng thứ i chứa hai số nguyên liri.

Dữ liệu ra

Với mỗi truy vấn, in ra một số nguyên duy nhất — median lương lớn nhất có thể.

Ràng buộc

  • 1t2·105
  • 1n<2·105, n lẻ
  • 1s2·1014
  • 1liri109
  • Tổng n trên toàn bộ truy vấn không vượt quá 2·105.
  • i=1nlis trong mỗi truy vấn.

Ví dụ

Input Output Giải thích
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
11
1337
6
Truy vấn 1: gán lương 12,2,11 → median = 11. Truy vấn 2: chỉ có một nhân viên, phải trả 1337. Truy vấn 3: gán 4,3,6,6,7 → median = 6.
1
1 1000000000
1000000000 1000000000
1000000000 Một nhân viên với l=r=109, lương duy nhất là 109.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0