Gộp hai danh sách
Xem dưới dạng PDF
Gửi bài giải
Điểm:
30
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Kiểu bài tập
Cho hai danh sách liên kết đơn đã được sắp xếp theo thứ tự tăng dần. Hãy gộp (merge) chúng thành một danh sách liên kết duy nhất cũng được sắp xếp tăng dần.
Kỹ thuật: dùng hai con trỏ lần lượt trỏ tới đầu mỗi danh sách, so sánh giá trị và nối node nhỏ hơn vào danh sách kết quả.
Đầu vào
- Dòng đầu tiên chứa số nguyên N (\(1 \le N \le 1000\)) — độ dài danh sách thứ nhất.
- Dòng thứ hai chứa N số nguyên \(A_i\) (\(1 \le A_i \le 10^9\)) — đã sắp xếp tăng dần.
- Dòng thứ ba chứa số nguyên M (\(1 \le M \le 1000\)) — độ dài danh sách thứ hai.
- Dòng thứ tư chứa M số nguyên \(B_j\) (\(1 \le B_j \le 10^9\)) — đã sắp xếp tăng dần.
Đầu ra
In ra danh sách liên kết sau khi gộp, theo định dạng: a1 -> a2 -> ... -> a_{N+M}.
Ví dụ
Input:
3
1 3 5
4
2 4 6 8
Output:
1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 8
Ràng buộc & Subtasks
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 30% | Tương ứng với các bộ test có kích thước nhỏ |
| 2 | 70% | Không có ràng buộc gì thêm ngoài định dạng đầu vào |
Nhận xét