Kiểm tra chương trình

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
Kiểm tra chương trình
Mô tả và yêu cầu

Po là người yêu thích lập trình và thường xuyên luyện tập trên trang web như
https://codeforces.com/ https://www.codechef.com/ http://hpcode.pro/ …Các trang web
này cho phép nộp bài nhiều lần nên Po có thể làm rồi nộp thử, tuy nhiên điều đó lại làm
hại chính Po trong kỳ thi học sinh giỏi cấp trường lần trước. Sau khi làm bài xong và
chạy đúng với ví dụ, Po tự tin nộp bài cho giám thị mà không kiểm tra kỹ. Khi về nhà
Po mới viết mình đã làm sai một số trường hợp trong bài dễ nhất. Quyết không để sai
sót lặp lại, mỗi lần làm bài tập Po đều tạo ngẫu nhiên các trường hợp rồi viết chương
trình theo hai cách khác nhau để kiểm tra.
Lần này Po tạo ngẫu nhiên dãy số nguyên 𝑎1, 𝑎2, … , 𝑎𝑛. Do yêu cầu đề bài không
được có hai số liên tiếp trong dãy giống nhau nên Po cần thực hiện việc xóa đi một số
các số trong dãy.
Hãy giúp Po chọn các số trong dãy để xóa sao cho các số còn lại (theo đúng thứ tự
ban đầu) không có hai số liên tiếp nào giống nhau và số lượng các số cần xóa là nhỏ
nhất.

Dữ liệu vào

+ Dòng đầu tiên ghi số nguyên dương 𝑛 (1 ≤ 𝑛 ≤ 105)
+ Dòng tiếp theo ghi lần lượt 𝑛 số 𝑎1, 𝑎2, … ,𝑎𝑛 (0 ≤ 𝑎𝑖 ≤ 109)

Dữ liệu ra

+ Ghi một số nguyên dương cho biết số lượng ít nhất các số cần xóa.

Ví dụ
Input        Output
                                       5              2
                                       1 2 2 2 1

Tải PDF gốc


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.