George và Số
Đề bài
Mô tả
George có một mảng gồm các số nguyên dương (ký hiệu là độ dài hiện tại của mảng). George liên tục biến đổi mảng bằng các phép thay đổi. Một phép thay đổi gồm các bước sau:
- Chọn hai chỉ số phân biệt và (; ) sao cho .
- Tạo số , trong đó là số thu được bằng cách viết các chữ số của ngay sau các chữ số của . Ví dụ , .
- Thêm số vào cuối mảng (độ dài mảng tăng thêm ).
- Xóa hai phần tử tại chỉ số và khỏi mảng (độ dài mảng giảm đi ), rồi đánh số lại các phần tử.
Sau nhiều phép thay đổi, mảng của George chỉ còn lại đúng một số . Cho , hãy tìm số phần tử tối đa mà mảng ban đầu có thể có.
Lưu ý rằng mảng ban đầu chỉ chứa các số nguyên dương (không có số , và không có số nào chứa chữ số ở đầu).
Dữ liệu vào
Một dòng duy nhất chứa số nguyên (). Đảm bảo không có chữ số ở đầu.
Dữ liệu ra
In ra một số nguyên — số phần tử tối đa mà mảng ban đầu có thể có.
Ràng buộc
- (số có thể có tới chữ số).
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 9555 | 4 | Mảng ban đầu có thể là : . |
| 10000000005 | 2 | Mảng ban đầu có thể là . Không được chia nhỏ hơn vì mảng không được chứa số . |
| 800101 | 3 | Mảng ban đầu có thể là . |
| 45 | 1 | Chỉ có thể là . Không thể là vì từ đó chỉ tạo được (cần ). |
| 310200 | 2 | Mảng ban đầu có thể là (vì ); không thể tách được phần tử. |
| 19992000 | 1 | Không thể tách vì phép ghép đầu tiên đã cần một số lớn hơn đứng trước. |
Bình luận