#dwacon2018prelimsb. [dwacon2018_prelims_b]2525文字列分解

[dwacon2018_prelims_b]2525文字列分解

问题描述

dwango公司的成员Niwango先生正在开发一种名为2525SNS的新型社交网络服务。 2525SNS是一种创新的社交网络平台,只能发布2525字符串。

在本问题中,称由字符25的重复出现一次或多次组成的字符串为2525字符串。例如,2525252525252525252525等都是2525字符串,但空字符串或22552552252等不是2525字符串。

首先,Niwango先生决定创建一些2525字符串。他想将手头上的字符串s分解为至少一个子序列,并使得每个子序列都是2525字符串。

请问,最少需要将字符串s分解为多少个子序列才能实现这一目标?如果无论如何分解都无法实现,请输出-1。关于分解的详细说明,请参考示例1。

约束条件

  • 1s2,5251 \leq |s| \leq 2{,}525
  • 字符串s只包含25

输入

从标准输入中按以下格式给出输入。

ss

输出

输出答案。


示例1

225525

输出1

2
  • 如果将字符串分解为一个子序列,225525不是2525字符串,因此不满足条件。
  • 其他的分解方式可以是($25$,$2525$)($25$,$25$,$25$)。下面分别给出每种分解中满足条件的例子和不满足条件的例子。请注意,在每个子序列中,需要保持s中相对出现顺序的准确性。
  • 分解为两个子序列($25$,$2525$)可以使得每个子序列都是2525字符串。

062c9a95edb82917811ef52962f98a3e.png


示例2

52

输出2

-1
  • 有两种分解方法,但无论如何分解,都无法使每个子序列都成为2525字符串。
  • 请注意,无法将其分解为52,然后交换它们的顺序以形成25

示例3

2255252252222555552522255255

输出3

5

示例4

25252

输出4

-1