CF1175B.Catch Overflow!

传统题 时间 2000 ms 内存 256 MiB 8 尝试 62 已通过 9 标签

Catch Overflow!

题目描述

给定一个用某种基础语言编写的函数 ff。该函数接受一个整数值,并立即将其赋值给某个变量 xxxx 是一个整数变量,取值范围为 0023212^{32}-1。函数包含三种类型的指令:

  • for nn —— for 循环;
  • end —— 将每个位于 "for nn" 与对应 "end" 之间的指令执行 nn 次;
  • add —— 将 xx11

执行完所有指令后,返回 xx 的值。

每个 "for nn" 都有与之匹配的 "end",因此保证函数是合法的。"for nn" 后面可以紧跟 "end"。add 指令可以出现在任何 for 循环之外。

注意,"add" 指令可能会导致 xx 溢出!也就是说,某些 "add" 指令执行后 xx 的值可能会超过 23212^{32}-1

现在你运行 f(0)f(0),想知道最终的 xx 是否正确,还是因为溢出而变得不正确。

如果执行过程中发生溢出,则输出 "OVERFLOW!!!";否则输出最终的 xx 值。

输入格式

第一行包含一个整数 ll1l1051 \le l \le 10^5),表示函数中的指令行数。

接下来的 ll 行,每行包含一条指令,类型如下:

  • for nn1n1001 \le n \le 100)—— for 循环;
  • end —— 将每个位于 "for nn" 与对应 "end" 之间的指令执行 nn 次;
  • add —— 将 xx11

输出格式

如果在执行 f(0)f(0) 的过程中发生溢出,则输出 "OVERFLOW!!!";否则输出最终的 xx 值。

说明/提示

在第一个样例中,第一个 "add" 被执行 1 次,第二个 "add" 被执行 150 次,最后一个 "add" 被执行 10 次。注意 "for nn" 后面可以紧跟 "end","add" 也可以出现在任何 for 循环之外。

在第二个样例中,没有 "add" 指令,因此返回值为 0。

在第三个样例中,"add" 指令被执行次数过多,导致 xx 超过 23212^{32}-1

由 ChatGPT 4.1 翻译

样例

9
add
for 43
end
for 10
for 15
add
end
add
end
161
2
for 62
end
0
11
for 100
for 100
for 100
for 100
for 100
add
end
end
end
end
end
OVERFLOW!!!

在线编程 IDE

建议全屏模式获得最佳体验