DÃY CON NGUYÊN TỐ TĂNG DÀI NHẤT

Xem dạng PDF

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:

  1. Các phần tử còn lại trong dãy ~A~ là số nguyên tố;
  2. Dãy ~A~ phải là dãy tăng ~(a_i < a_{i+1})~;
  3. Không thay đổi thứ tự ban đầu của các phần tử trong dãy ~A~;
  4. 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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.