QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 256 MB 總分: 100

#17918. 零花钱

统计

强尼想成为一名职业公路自行车手。他甚至已经找到了最完美的自行车,但他没有资金购买。他向母亲请求每天给他一些零花钱,母亲同意了,但有一些条件:初始的零花钱金额为 $0$,之后每天母亲会先给强尼当前的零花钱金额,然后检查强尼的成绩——如果他拿到的 $5$ 分和 $6$ 分比 $2$ 分和 $1$ 分多,她就会将零花钱增加 $1$;如果较少,她就会将零花钱减少 $1$;在其余情况下,金额保持不变。如果零花钱金额变为负数,母亲将完全停止给强尼零花钱,他也将永远无法购买自行车。

多年后,约翰怀着深厚的感情回忆起这些往事。他仍然记得许多细节:他攒下的钱正好是自行车的价格,且最后一次他的零花钱金额变回了 $0$。但他唯一不记得的是自行车的实际价格。他甚至找到了自己的成绩单,但它们已经陈旧破损,所以有时他无法看清每天得到了什么成绩。你能帮助约翰计算出自行车价格的最小和最大可能值吗?不幸的是,约翰在看成绩单时可能犯了一些错误,导致无法写出一个与约翰提供的数据相一致的、合法的零花钱金额变化序列。

输入格式

输入的第一行也是唯一的一行包含一个长度最多为 $10^6$ 的字符串,由字符 +-0_ 组成。这些字符表示接下来每一天零花钱的变化:

  • + 表示在这一天,强尼的母亲将他的零花钱增加了 $1$;
  • - 表示在这一天,她将零花钱减少了 $1$;
  • 0 表示零花钱金额没有变化;
  • _ 表示强尼无法确定这一天具体发生了什么。

输出格式

输出的第一行也是唯一的一行应包含两个由单个空格分隔的整数,分别表示自行车的最小和最大可能价格。

如果给定的字符串无法转化为合法的零花钱金额变化序列,则应输出单个单词 NIE

样例

输入样例 1

+_+_0_0_+-

输出样例 1

3 13

输入样例 2

---

输出样例 2

NIE

说明

在样例 1 中,最低的自行车价格是通过序列 +-+-0000+- 达到的,最大的价格是通过 +++-0-0-+- 达到的。

在样例 2 中,无论前两天的成绩如何,第三天后的零花钱金额都会是负数。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.