CF1776L.Controllers
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are at your grandparents' house and you are playing an old video game on a strange console. Your controller has only two buttons and each button has a number written on it.
Initially, your score is 0. The game is composed of n rounds. For each 1≤i≤n, the i-th round works as follows.
On the screen, a symbol si appears, which is either + (plus) or - (minus). Then you must press one of the two buttons on the controller once. Suppose you press a button with the number x written on it: your score will increase by x if the symbol was + and will decrease by x if the symbol was -. After you press the button, the round ends.
After you have played all n rounds, you win if your score is 0.
Over the years, your grandparents bought many different controllers, so you have q of them. The two buttons on the j-th controller have the numbers aj and bj written on them. For each controller, you must compute whether you can win the game playing with that controller.
你正在祖父母家,玩一款老式电子游戏,而游戏机的控制器十分奇特:它只有两个按钮,每个按钮上都标有一个数字。
初始时,你的得分为 0。游戏共包含 n 轮。对每个 1≤i≤n,第 i 轮的规则如下:
屏幕上会显示一个符号 si,该符号要么是 +(加号),要么是 -(减号)。接着,你必须按下控制器上的两个按钮之一,且仅能按一次。假设你按下的按钮上标有数字 x:若屏幕上显示的是 +,则你的得分增加 x;若显示的是 -,则你的得分减少 x。按下按钮后,本轮结束。
当你完成全部 n 轮后,若最终得分为 0,则获胜。
多年来,祖父母购买了许多不同的控制器,因此你一共有 q 个控制器。第 j 个控制器的两个按钮上分别标有数字 aj 和 bj。对每个控制器,你需要判断:使用该控制器是否能够赢得游戏。
输入格式
The first line contains a single integer n (1≤n≤2⋅105) — the number of rounds.
The second line contains a string s of length n — where si is the symbol that will appear on the screen in the i-th round. It is guaranteed that s contains only the characters + and -.
The third line contains an integer q (1≤q≤105) — the number of controllers.
The following q lines contain two integers aj and bj each (1≤aj,bj≤109) — the numbers on the buttons of controller j.
第一行包含一个整数 n(1≤n≤2⋅105)—— 表示回合数。
第二行包含一个长度为 n 的字符串 s —— 其中 si 表示第 i 回合屏幕上将显示的符号。保证字符串 s 仅由字符 + 和 - 组成。
第三行包含一个整数 q(1≤q≤105)—— 表示控制器的数量。
接下来的 q 行每行包含两个整数 aj 和 bj(1≤aj,bj≤109)—— 分别表示第 j 个控制器上两个按钮的数字。
输出格式
Output q lines. On line j print YES if the game is winnable using controller j, otherwise print NO.
输出 q 行。在第 j 行,如果使用控制器 j 可以赢得游戏,则输出 YES,否则输出 NO。
输入输出样例
输入#1
8 +-+---+- 5 2 1 10 3 7 9 10 10 5 3
输出#1
YES NO NO NO YES
输入#2
6 +-++-- 2 9 7 1 1
输出#2
YES YES
输入#3
20 +-----+--+--------+- 2 1000000000 99999997 250000000 1000000000
输出#3
NO YES
说明/提示
In the first sample, one possible way to get score 0 using the first controller is by pressing the button with numnber 1 in rounds 1, 2, 4, 5, 6 and 8, and pressing the button with number 2 in rounds 3 and 7. It is possible to show that there is no way to get a score of 0 using the second controller.
在第一个样例中,使用第一个控制器得到分数 0 的一种可能方式是:在第 1、2、4、5、6 和 8 轮按下编号为 1 的按钮,在第 3 和 7 轮按下编号为 2 的按钮。可以证明,使用第二个控制器无法得到分数 0。
输入解题思路,AI测评打分。不知道怎么写?