Codeforces Round 227 (Div. 2)
C
George and Number
Codeforces
1700
原题
← BD →
翻译中…

George is a cat, so he really likes to play. Most of all he likes to play with his array of positive integers $*b*$. During the game, George modifies the array by using special changes. Let's mark George's current array as $*b*_{1}, *b*_{2}, ..., *b*_{|*b*|}$ (record $|*b*|$ denotes the current length of the array). Then one change is a sequence of actions:

翻译中…
  • Choose two distinct indexes $*i*$ and $*j*$ $(1 ≤ *i*, *j* ≤ |*b*|; *i* ≠ *j*)$, such that $*b*_{*i*} ≥ *b*_{*j*}$.
  • Get number $*v* = *concat*(*b*_{*i*}, *b*_{*j*})$, where $*concat*(*x*, *y*)$ is a number obtained by adding number $*y*$ to the end of the decimal record of number $*x*$. For example, $*concat*(500, 10) = 50010$, $*concat*(2, 2) = 22$.
  • Add number $*v*$ to the end of the array. The length of the array will increase by one.
  • Remove from the array numbers with indexes $*i*$ and $*j*$. The length of the array will decrease by two, and elements of the array will become re-numbered from $1$ to current length of the array.
翻译中…

George played for a long time with his array $*b*$ and received from array $*b*$ an array consisting of exactly one number $*p*$. Now George wants to know: what is the maximum number of elements array $*b*$ could contain originally? Help him find this number. Note that originally the array could contain only positive integers.

翻译中…

Input

翻译中…

The first line of the input contains a single integer $*p*$ ($1 ≤ *p* < 10^{100000}$). It is guaranteed that number $*p*$ doesn't contain any leading zeroes.

翻译中…

Output

翻译中…

Print an integer — the maximum number of elements array $*b*$ could contain originally.

翻译中…

Note

翻译中…

Let's consider the test examples:

翻译中…
  • Originally array $*b*$ can be equal to ${5, 9, 5, 5}$. The sequence of George's changes could have been: ${5, 9, 5, 5} → {5, 5, 95} → {95, 55} → {9555}$.
  • Originally array $*b*$ could be equal to ${1000000000, 5}$. Please note that the array $*b*$ cannot contain zeros.
  • Originally array $*b*$ could be equal to ${800, 10, 1}$.
  • Originally array $*b*$ could be equal to ${45}$. It cannot be equal to ${4, 5}$, because George can get only array ${54}$ from this array in one operation.
翻译中…

Note that the numbers can be very large.

翻译中…

样例

Input #1
9555
Output #1
4
InputCopy OutputCopy
Input #2
10000000005
Output #2
2
InputCopy OutputCopy
Input #3
800101
Output #3
3
InputCopy OutputCopy
Input #4
45
Output #4
1
InputCopy OutputCopy
Input #5
1000000000000001223300003342220044555
Output #5
17
InputCopy OutputCopy
Input #6
19992000
Output #6
1
InputCopy OutputCopy
Input #7
310200
Output #7
2
InputCopy OutputCopy
题目信息
题号
387C
时间限制
1 s
内存限制
256 MB
标签
贪心
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。