[HSG_DB_25] Xoá số
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.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, Pascal, Python
Một buổi chiều đẹp trời, Tèo và Tý đang chơi với một dãy số gồm ~N~ phần tử, mỗi phần tử là một con số đầy bí ẩn. Tèo đố Tý: Viết chương trình chỉ giữ lại những số chia hết cho một số ~k~ mà Tý chọn, để dãy số trở nên "đẹp đẽ" và dễ nhìn hơn.
Tý đồng ý, nhưng cậu cũng muốn biết số nguyên dương nhỏ nhất mà chưa xuất hiện trong dãy ban đầu là gì, để biết con số nào còn thiếu trong trò chơi.
Yêu cầu
Hãy viết chương trình giúp bạn Tý:
a) Đếm số lượng và liệt kê các phần tử còn lại.
b) Tìm số nguyên dương nhỏ nhất không xuất hiện trong dãy.
Dữ liệu đầu vào
Gồm hai dòng:
- Dòng 1: Hai số nguyên dương ~N~ và ~k~ ~(1 \le N \le 10^6, 1 \le k \le 10^9)~.
- Dòng 2: ~N~ số nguyên ~a_1, a_2, \ldots, a_N~ ~(1 \le a_i \le 10^9)~.
Dữ liệu đầu ra
Gồm ba dòng:
- Dòng 1: Số lượng phần tử còn lại sau khi loại bỏ các số không chia hết cho ~k~.
- Dòng 2: In ra các phần tử còn lại theo thứ tự tăng dần, mỗi phần tử cách nhau bởi dấu cách.
- Dòng 3: Số nguyên dương nhỏ nhất chưa xuất hiện trong dãy ban đầu.
Ràng buộc dữ liệu
- Có 40% số test ứng với 40% số điểm của câu: ~1 \le N \le 10^4~;
- Có 30% số test ứng với 30% số điểm của câu: ~10^4 < N \le 10^5~;
- Có 30% số test ứng với 30% số điểm của câu: ~10^5 < N \le 10^6~.
Ví dụ
Ví dụ 1
INPUT
10 5
1 2 4 5 7 15 30 55 8 25
OUTPUT
5
5 15 25 30 55
3
Bình luận