#5418. Tổng nhỏ thứ K (Mã bài: SMALLEST)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho hai dãy số nguyên A B có độ dài lần lượt là m n . Một cặp tổng được tạo thành bằng cách lấy một phần tử từ A và một phần tử từ B rồi cộng chúng lại với nhau ( A_i + B_j ). Có tổng cộng m \times n cặp tổng như vậy. Nhiệm vụ của bạn là tìm ra k cặp tổng có giá trị nhỏ nhất.

Dữ liệu:

  • Dòng đầu tiên chứa ba số nguyên m, n, k .
  • Dòng thứ hai chứa m số nguyên của dãy A .
  • Dòng thứ ba chứa n số nguyên của dãy B .

Kết quả: In ra k số nguyên trên k dòng, là k giá trị tổng nhỏ nhất theo thứ tự tăng dần.

Ví dụ:

Dữ liệu:

3 4 5
1 5 8
10 3 12 7

Kết quả:

4
8
11
11
13

Giải thích: Dãy B sau khi sắp xếp: [3, 7, 10, 12]. Các cặp tổng có thể tạo ra là:

  • Với A_1=1 : 1+3=4, 1+7=8, 1+10=11, 1+12=13
  • Với A_2=5 : 5+3=8, 5+7=12, 5+10=15, 5+12=17
  • Với A_3=8 : 8+3=11, 8+7=15, 8+10=18, 8+12=20 Sắp xếp tất cả các tổng: 4, 8, 8, 11, 11, 12, 13, ... 5 tổng nhỏ nhất là 4, 8, 11, 11, 13.

Giới hạn:

  • 1 \le m, n \le 50000
  • 1 \le k \le m \times n k \le 250000
  • Giá trị các phần tử trong A B là các số nguyên 32-bit.