Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho dãy số nguyên dương ~A~ gồm ~n~ phần tử ~a_1, a_2, ..., a_n~, các phần tử được đánh chỉ số từ ~1~ đến ~n~.
Yêu cầu: Tìm cách loại bỏ một số phần tử trong dãy ~A~ sao cho các phần tử còn lại thỏa mãn các điều kiện sau:
- Các phần tử còn lại trong dãy ~A~ là số nguyên tố;
- Dãy ~A~ phải là dãy tăng ~(a_i < a_{i+1})~;
- Không thay đổi thứ tự ban đầu của các phần tử trong dãy ~A~;
- Số lượng các phần tử trong dãy ~A~ là lớn nhất.
Dữ liệu vào: Cho trong tệp văn bản DAYCON.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương ~n~ ~(1 ≤ n ≤ 10000)~.
- Dòng 2: Ghi n số nguyên dương ~a_1, a_2, ..., a_n~ là các phần tử của dãy ~A~, các số được ghi cách nhau ít nhất một dấu cách ~(1 ≤ i ≤ n, 0 < a_i ≤ 2×10^9)~.
Dữ liệu ra: Ghi ra tệp văn bản DAYCON.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương ~k~ là số lượng phần tử còn lại của dãy ~A~.
- Dòng 2: Ghi ~k~ số nguyên là chỉ số của các phần tử còn lại trong dãy ~A~, các số ghi cách nhau một dấu cách.
DAYCON.INP
9
4 2 1 3 2 5 7 6 8
DAYCON.OUT
4
2 4 6 7
Giới hạn:
- Có 20% số test có ~n ≤ 10~ và ~a_i ≤ 32000~;
- Có 20% số test có ~n = 10000~ và ~a_i > 65000~.
Bình luận