Khôi phục mảng
Đề bài
Mô tả
Gọi là dãy vô hạn các số nguyên tố theo thứ tự tăng dần: , , , và cứ thế tiếp tục ( là số nguyên tố thứ ).
Một mảng gồm số nguyên được giấu đi, mỗi phần tử thỏa . Bạn không biết mảng , nhưng biết mảng được tạo ra từ theo quy trình sau:
- Ban đầu, đặt mảng bằng mảng .
- Với mỗi từ đến :
- Nếu là số nguyên tố, thêm số (số nguyên tố thứ ) vào cuối mảng .
- Ngược lại (nếu không phải số nguyên tố), thêm ước lớn nhất của khác chính vào cuối mảng .
- Sau đó mảng thu được có độ dài bị xáo trộn ngẫu nhiên rồi đưa cho bạn.
Nhiệm vụ của bạn là khôi phục một mảng bất kỳ phù hợp, tức là mảng mà từ đó có thể tạo ra mảng đã cho theo quy trình trên. Dữ liệu đảm bảo luôn tồn tại nghiệm. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Dữ liệu vào
- Dòng đầu chứa một số nguyên : số phần tử của mảng .
- Dòng thứ hai chứa số nguyên : các phần tử của mảng .
Dữ liệu ra
In ra số nguyên theo thứ tự bất kỳ: mảng mà từ đó tạo được mảng . Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Ràng buộc
- (số là số nguyên tố thứ )
- Mọi trong đáp án phải thỏa .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 5 2 3 2 4 |
3 4 2 | Với : nguyên tố nên thêm ; không nguyên tố nên thêm ước lớn nhất là ; nguyên tố nên thêm . Tập hợp thu được là , đúng bằng sau khi xáo trộn. |
| 1 3 6 |
6 | : không nguyên tố, ước lớn nhất khác là . Mảng . |
| 1 2750131 199999 |
199999 | : là số nguyên tố, thêm . |
Bình luận