TRUNG VỊ LỚN NHẤT

Nguồn: Đề thi chọn đội tuyển trường THPT Chuyên Lê Quý Đôn - Khánh Hòa

Cho số nguyên dương ~n~ (~n~ lẻ) và hai dãy số nguyên:

  • Dãy ~A~ gồm các số: ~a_1,a_2,…,a_n~;
  • Dãy ~B~ gồm các số: ~b_1,b_2,…,b_n~.

Dãy số nguyên ~C~ gồm các số ~c_1,c_2,…,c_n~ được tạo thành từ hai dãy số ~A~ và ~B~ bằng cách: Thực hiện ~n~ lượt, ở lượt thứ ~i~ ~(i=1…n)~, số ~c_i~ được xác định bằng giá trị ~x+y~, trong đó ~x~ là một số bất kỳ trong dãy ~A~ và ~y~ là một số bất kỳ trong dãy ~B~, sau mỗi lượt xóa ~x~ khỏi dãy ~A~ và xóa ~y~ khỏi dãy ~B~.

Yêu cầu: Hãy tìm cách tạo dãy số ~C~ sao cho trung vị của dãy ~C~ là lớn nhất? Biết rằng trung vị của dãy số ~C~ là giá trị ở vị trí chính giữa dãy số sau khi sắp xếp tăng dần.

**Dữ liệu vào: **

  • Dòng đầu tiên ghi số nguyên dương ~n~ ~(1≤n≤3.10^5;n~ lẻ~)~;
  • Dòng thứ hai ghi lần lượt các số ~a_1,a_2,…,a_n~ ~(|a_i|≤10^9)~;
  • Dòng thứ ba ghi lần lượt các số ~b_1,b_2,…,b_n~ ~(|b_i |≤10^9)~;

**Kết quả: **

  • Một số nguyên duy nhất cho biết trung vị của dãy ~C~ tạo được.

Ví dụ:

Input

5
8 4 3 1 2
6 3 2 5 4 

Output

9 

Giải thích ví dụ: Cách tạo dãy ~C~ để đạt kết quả tối ưu là:

~c_i=8+4; c_2=4+5; c_3=3+6; c_4=1+2; c_5=2+3~.

Trong mỗi tổng ở trên thì số thứ nhất được lấy từ dãy ~A~, số thứ hai được lấy từ dãy ~B~.

Các giá trị trong dãy ~C~: ~12,9,9,3,5~. Trung vị của dãy ~C~ là ~9~.

Ràng buộc:

  • Có 30% số test tương ứng 30% số điểm có ~n≤10~;
  • Có 30% số test khác tương ứng 30% số điểm có ~n≤10^3~;
  • Có 40% số test còn lại tương ứng 40% số điểm không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. topteo1243 (18/22)
  2. cao_thanh_dat (6/11)
  3. nsduc83 (5/23)
Trong 7 ngày
  1. caubeioi (39/63)
  2. nhatanh (33/47)
  3. dat092010 (24/35)
Trong 30 ngày
  1. caubeioi (179/327)
  2. phamnhi (153/428)
  3. bestsoilvam (151/248)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38226

Lưu Hải Phong - 2020
[email protected]