QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 512 MB 満点: 10

#6044. 危险 [B]

統計

Bajtek 和他的朋友们偷偷溜进了赌场。男孩们排成一队,站在一台“老虎机”前,打算快速增加他们的零花钱。为了公平起见,男孩们决定轮流玩:每玩完一局,当前玩游戏的男孩就会排到队伍的末尾。这台老虎机的玩法非常简单:玩家每次下注一个“bajtalar”,然后拉动操纵杆查看是否获胜。如果获胜,老虎机会吐出两个“bajtalar”;否则什么都不会发生。换句话说,在单局游戏中,玩家可以赢得或输掉一个“bajtalar”。

这些未成年赌徒并不知道,赌场老板正通过隐藏的摄像头监视着他们的一举一动。老板知道老虎机以长度为 $m$ 的周期运行,即每 $m$ 局游戏的结果都是相同的。此外,赌场老板还掌握了老虎机周期的确切形式。

现在,老板正在考虑是否要叫保安。他推测,如果其中任何一个男孩在老虎机上输光了所有的积蓄,这个男孩就会离开赌场,而他的朋友们也会出于义气随他一起离开(老板自己也曾年轻过!)。老板现在想检查这种情况是否会发生,如果会,需要多久。毕竟,如果男孩们很快就会自己离开,那么叫保安可能并不划算。尤其是如果在此期间,他们的大部分积蓄最终都进了赌场的腰包……

输入格式

第一行包含一个整数 $n$ ($1 \le n \le 1\,000\,000$),表示来到赌场的男孩人数(包括 Bajtek)。 第二行包含 $n$ 个整数,均在 $[1, 10^6]$ 范围内,表示男孩们的积蓄总额,顺序与他们排队玩老虎机的顺序一致。 第三行包含一个整数 $m$ ($1 \le m \le 1\,000\,000$),表示老虎机运行周期的长度。 第四行包含一个由 $m$ 个字符组成的字符串,表示老虎机的运行周期:如果字符串的第 $i$ 个字符是 W,则表示在周期的第 $i$ 局游戏中玩家获胜;如果字符是 P,则表示在第 $i$ 局游戏中玩家输掉。字符串中至少包含一个字符 W。

输出格式

你的程序应输出一行,包含一个整数,表示在其中一名男孩输光所有积蓄之前,男孩们总共进行的局数。如果这种情况永远不会发生,则输出 $-1$。

样例

输入 1

4
2 3 2 1
3
WPP

输出 1

12

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.