USACO 2018 - Taming the Herd
Xem PDFVào sáng sớm, bác nông dân John thức giấc vì tiếng gỗ vỡ vụn. Lại là đàn bò, và chúng lại đang phá chuồng trốn ra ngoài!
Bác nông dân John đã quá chán ngán những vụ phá chuồng vào buổi sáng của đàn bò và quyết định rằng như thế là đủ: đã đến lúc phải mạnh tay. Ông đóng lên tường chuồng một bộ đếm theo dõi số ngày kể từ vụ phá chuồng gần nhất. Vì vậy, nếu một vụ phá chuồng xảy ra vào buổi sáng thì bộ đếm trong ngày đó sẽ là \(0\); nếu vụ phá chuồng gần nhất xảy ra \(3\) ngày trước thì bộ đếm sẽ hiển thị \(3\). Bác nông dân John ghi lại giá trị của bộ đếm mỗi ngày một cách cẩn thận.
Cuối năm đã đến và bác nông dân John sẵn sàng tính sổ. Lũ bò sẽ phải trả giá, ông nói! Nhưng thật bất ngờ, một số mục trong nhật ký của ông đã bị mất!
Bác nông dân John chắc chắn rằng ông bắt đầu ghi nhật ký đúng vào ngày xảy ra một vụ phá chuồng. Trong tất cả các chuỗi sự kiện phù hợp với những mục nhật ký còn lại, hãy giúp ông xác định số vụ phá chuồng nhỏ nhất và lớn nhất có thể đã xảy ra trong khoảng thời gian được ghi lại.
Dữ liệu vào
Dòng đầu tiên chứa một số nguyên \(N\) (\(1 \leq N \leq 100\)), biểu thị số ngày kể từ khi bác nông dân John bắt đầu ghi lại bộ đếm các vụ phá chuồng của đàn bò.
Dòng thứ hai chứa \(N\) số nguyên cách nhau bởi dấu cách. Số nguyên thứ \(i\) là \(-1\), cho biết mục nhật ký của ngày \(i\) bị mất, hoặc là một số nguyên không âm \(a_i\) (không quá \(100\)), cho biết bộ đếm ở ngày \(i\) có giá trị \(a_i\).
Dữ liệu ra
Nếu không tồn tại chuỗi sự kiện nào phù hợp với nhật ký không đầy đủ của bác nông dân John và với thông tin rằng đàn bò chắc chắn đã phá chuồng vào buổi sáng ngày \(1\), in ra số nguyên duy nhất \(-1\). Nếu có, in ra hai số nguyên cách nhau bởi dấu cách \(m\) rồi đến \(M\), trong đó \(m\) là số vụ phá chuồng nhỏ nhất trong mọi chuỗi sự kiện phù hợp và \(M\) là số vụ lớn nhất.
Ví dụ
Ví dụ 1
Input
4
-1 -1 -1 1
Output
2 3
Giải thích
Trong ví dụ này, ta có thể suy ra rằng một vụ phá chuồng buộc phải xảy ra vào ngày \(3\). Biết rằng một vụ phá chuồng cũng xảy ra vào ngày \(1\), điều duy nhất còn chưa chắc chắn là có vụ phá chuồng nào xảy ra vào ngày \(2\) hay không. Do đó, tổng cộng có từ \(2\) đến \(3\) vụ phá chuồng.
Nguồn
USACO 2018 February Contest, Bronze — Taming the Herd
Tác giả bài toán: Dhruv Rohatgi.
Kỳ thi:
- USACO 2018 - Tháng 2 - Hạng Đồng (1 Tháng 2., 2018)
Bình luận