thpt_hatinh2526
Gọi khoảng cách giữa hai số nguyên dương ~a~ và ~b~ là ~|a - b|~. ~F(x)~ là số lượng ước nguyên dương của số nguyên dương ~x~ tính cả ~1~ và ~x~.
Ví dụ: Số ~3~ có ~2~ ước nguyên dương là ~1~ và ~3~. Ta có ~F(3) = 2~ và khoảng cách giữa hai ước là ~2~.
Yêu cầu: Cho số nguyên dương ~k~, tìm số nguyên dương ~x~ nhỏ nhất sao cho: ~F(x) = 4~ và khoảng cách giữa hai ước bất kỳ của ~x~ tối thiểu là ~k~.
Input
Dữ liệu vào từ file văn bản FDIV.INP:
- Dòng 1: Chứa số nguyên dương ~T~ (~T \le 10^6~) là số bộ dữ liệu;
- ~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~k~ (~k \le 10^6~) tương ứng với một bộ dữ liệu vào.
Output
Ghi ra file văn bản FDIV.OUT gồm ~T~ dòng, mỗi dòng ghi một số nguyên dương ~x~ là kết quả tìm được tương ứng với một bộ dữ liệu vào.
Ví dụ
Input
3
1
2
2025
Output
6
15
8223539
Giải thích
- Số ~6~ là số nguyên dương nhỏ nhất có ~4~ ước dương là ~1, 2, 3, 6~ và khoảng cách giữa hai ước bất kỳ tối thiểu là ~1~.
- Số ~15~ là số nguyên dương nhỏ nhất có ~4~ ước dương là ~1, 3, 5, 15~ và khoảng cách giữa hai ước bất kỳ tối thiểu là ~2~.
Giới hạn
- Có 30% số test ứng với 30% số điểm thỏa mãn: ~T = 1~, ~k \le 5~;
- Có 30% số test khác ứng với 30% số điểm thỏa mãn: ~T = 1~, ~k \le 10^2~;
- Có 20% số test khác ứng với 20% số điểm thỏa mãn: ~T \le 10~, ~k \le 10^5~;
- Có 20% số test còn lại ứng với 20% số điểm thỏa mãn: ~T \le 10^6~, ~k \le 10^6~.
Điểm: 100
Hướng tới kỷ niệm ngày thành lập Đoàn Thanh niên Cộng sản Hồ Chí Minh, Tỉnh đoàn dự định tổ chức Hội thi khiêu vũ cho đoàn viên là các cặp đôi nam - nữ.
Theo danh sách đăng ký, có ~n~ bạn nam và ~m~ bạn nữ. Danh sách các bạn nam được đánh số từ ~1~ đến ~n~ có chiều cao lần lượt là ~a_1, a_2, \ldots, a_n~. Danh sách các bạn nữ được đánh số từ ~1~ đến ~m~ có chiều cao lần lượt là ~b_1, b_2, \ldots, b_m~. Ban tổ chức muốn ghép nhiều nhất các cặp nhảy theo thứ tự đăng ký sao cho mỗi cặp nhảy gồm một bạn nam và một bạn nữ có chiều cao bằng nhau. Tức là tồn tại dãy chỉ số: ~1 \le i_1 < i_2 < \cdots < i_k \le n~ và ~1 \le j_1 < j_2 < \cdots < j_k \le m~ sao cho ~a_{i_1} = b_{j_1}, a_{i_2} = b_{j_2}, \ldots, a_{i_k} = b_{j_k}~.
Yêu cầu: Cho danh sách chiều cao của ~n~ bạn nam và ~m~ bạn nữ, hãy cho biết số cặp nhảy tối đa mà Ban tổ chức có thể ghép được.
Input
Dữ liệu vào từ file văn bản PAIRD.INP:
- Dòng đầu tiên chứa hai số nguyên dương ~n~ và ~m~ (~n, m \le 10^6~).
- Dòng thứ hai chứa dãy số ~A~ gồm ~n~ số nguyên dương ~a_1, a_2, \ldots, a_n~ (~a_i \le 10^9, 1 \le i \le n~) lần lượt là chiều cao của các bạn nam.
- Dòng thứ ba chứa dãy số ~B~ gồm ~m~ số nguyên dương ~b_1, b_2, \ldots, b_m~ (~b_i \le 10^9, 1 \le i \le m~) lần lượt là chiều cao của các bạn nữ.
Các số trên một dòng của file dữ liệu vào ghi cách nhau ít nhất ~1~ dấu cách.
Output
Ghi ra file văn bản PAIRD.OUT một số nguyên là số cặp nhảy tối đa ghép được.
Ví dụ
Input
6 5
170 155 180 165 156 185
155 185 156 180 165
Output
3
Giải thích
Ba cặp nhảy được chọn theo thứ tự có chiều cao lần lượt là: ~155, 180, 165~.
Giới hạn
- Có 40% số test ứng với 40% số điểm thỏa mãn: Dãy số ~A~ đã được sắp xếp và ~n, m \le 20~;
- Có 30% số test khác ứng với 30% số điểm thỏa mãn: ~20 < n, m \le 10^3~;
- Có 20% số test khác ứng với 20% số điểm thỏa mãn: ~20 < n \le 10^3~ và ~10^3 < m \le 10^6~;
- Có 10% số test còn lại ứng với 10% số điểm thỏa mãn: Dãy số ~A~ và dãy số ~B~ đã được sắp xếp, ~10^3 < n, m \le 10^6~.
Điểm: 100
Năm 2025, Việt Nam là quốc gia liên tiếp chịu sự tàn phá nặng nề của các cơn bão, hoàn lưu của các cơn bão gây mưa lớn và ngập lụt nhiều nơi. Những ngày gần đây các tỉnh miền Trung bị ngập lụt nặng, nhiều khu dân cư bị cô lập. Với tinh thần “lá lành đùm lá rách” của dân tộc, nhiều tổ chức, cá nhân đã quyên góp ủng hộ đồng bào miền Trung khắc phục thiên tai.
Dữ liệu về khu vực cần cứu trợ được chia thành ~n~ trạm dừng và ~m~ đường đi hai chiều nối các trạm dừng đó. Các trạm dừng được đánh số lần lượt từ ~1~ đến ~n~, trạm dừng thứ ~i~ có mực nước là ~d_i~, các đường đi được đánh số hiệu lần lượt từ ~1~ đến ~m~. Người ta muốn chuyển hàng cứu trợ từ trạm dừng ~1~ tới trạm dừng ~n~. Quá trình di chuyển đi qua một số trạm dừng, tuy nhiên nếu chênh lệch về mực nước giữa hai trạm dừng liên tiếp trên hành trình là quá cao thì có thể ảnh hưởng đến an toàn của đoàn cứu trợ.
Yêu cầu: Hãy chỉ ra một hành trình mà độ lệch mực nước lớn nhất giữa hai trạm dừng liên tiếp bất kỳ trên hành trình là nhỏ nhất.
Input
Dữ liệu vào từ file văn bản TOURE.INP:
- Dòng 1: Chứa hai số nguyên dương ~n, m~ (~2 \le n \le 10^5, m \le 2 \cdot 10^5~).
- Dòng 2: Chứa ~n~ số nguyên dương ~d_1, d_2, \ldots, d_n~ (~d_i \le 10^9, 1 \le i \le n~) lần lượt là mực nước của các trạm dừng.
- ~m~ dòng tiếp theo, dòng thứ ~i~ chứa hai số nguyên dương ~u, v~ cho biết giữa hai trạm dừng ~u~ và ~v~ có đường đi mang số hiệu ~i~.
Dữ liệu đảm bảo luôn tồn tại hành trình từ trạm dừng ~1~ tới trạm dừng ~n~.
Output
Ghi ra file văn bản TOURE.OUT gồm:
- Dòng 1: Ghi độ lệch mực nước lớn nhất giữa hai trạm dừng liên tiếp bất kỳ trên hành trình tìm được.
- Dòng 2: Ghi số hiệu các đường đi theo đúng thứ tự trên hành trình. Nếu có nhiều hành trình thỏa mãn thì ghi một hành trình bất kỳ.
Các số trên một dòng của dữ liệu vào/ra ghi cách nhau ít nhất một dấu cách.
Ví dụ
Input
5 6
10 12 18 20 25
1 3
1 2
1 4
2 3
3 4
4 5
Output
6
2 4 5 6
Giải thích
Mực nước của các trạm dừng ~1, 2, 3, 4, 5~ lần lượt là ~10, 12, 18, 20, 25~.
- Hành trình qua các trạm dừng: ~1 \to 2 \to 3 \to 4 \to 5~.
- Số hiệu các tuyến đường đi: ~2 \to 4 \to 5 \to 6~.
- Độ lệch mực nước lớn nhất là giữa trạm dừng ~2~ và ~3~: ~|12 - 18| = 6~.
Giới hạn
- Có 30% số test ứng với 30% số điểm thỏa mãn: ~2 \le n \le 10^3~, ~1 \le m \le 10^3~ và mực nước của các trạm dừng bằng nhau;
- 30% số test khác ứng với 30% số điểm thỏa mãn: ~2 \le n \le 10^3~, ~1 \le m \le 10^3~;
- 40% số test còn lại ứng với 40% số điểm không có ràng buộc gì thêm.