HSG THPT HẢI PHÒNG 2025- BÀI 5


Gửi bài giải

Điểm: 40
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G

Tác giả:
Kiểu bài tập
Ngôn ngữ cho phép
C++, Python

Bài 5: Tìm kiếm

Cho mảng A có n số nguyên dương (a1, a2, ..., an).

Yêu cầu:
Với mỗi số nguyên dương ai, tìm số nguyên dương aj với j > i và j nhỏ nhất thỏa mãn aj có nhiều ước hơn ai; nếu không có số aj nào thỏa mãn thì kết quả tìm kiếm là -1.


Dữ liệu vào

  • Dòng đầu tiên là số nguyên dương n ( n <= 2 x 105 );
  • Dòng thứ hai có n số nguyên dương a1, a2, ..., an ( ai <= 109 ).
  • Dữ liệu đảm bảo: max(ai) - min(ai) <= 106 với i = 1..n.
  • Các số trên cùng một dòng trong file dữ liệu được viết cách nhau bởi dấu cách trống.

Kết quả ra

Ghi ra file kết quả một dòng có n số nguyên theo thứ tự là kết quả tìm kiếm theo yêu cầu.
Các số nguyên ghi cách nhau bởi một dấu cách trống.


Ví dụ

Sample Input
6
6 18 7 10 9 8
Sample Output
18 -1 10 -1 8 -1
Giải thích

Số ước tương ứng của các số là: 4 6 2 4 3 4

Kết quả tìm kiếm:
- a1 = 18 (vì 6 > 4)
- a2 = -1 (vì không có số nào lớn hơn 6)
- a3 = 10 (vì 4 > 2 và a4 gần nhất)
- a4 = -1 (vì không có số nào có lớn hơn 4)
- a5 = 8 (vì 4 > 3)
- a6 = -1 (vì không có số nào bên phải)


Chấm điểm

  • Subtask 1 (20% số điểm): n <= 103 và ai <= 104 với i = 1..n.
  • Subtask 2 (50% số điểm): n <= 103 và ai <= 106 với i = 1..n.
  • Subtask 3 (30% số điểm): Không có ràng buộc nào thêm.

Nhận xét

Không có ý kiến tại thời điểm này.