CF1861C.Queries for the Array

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Monocarp had an array aa consisting of integers. Initially, this array was empty.

Monocarp performed three types of queries to this array:

  • choose an integer and append it to the end of the array. Each time Monocarp performed a query of this type, he wrote out a character +;
  • remove the last element from the array. Each time Monocarp performed a query of this type, he wrote out a character -. Monocarp never performed this query on an empty array;
  • check if the array is sorted in non-descending order, i.,e. a1a2aka_1 \le a_2 \le \dots \le a_k , where kk is the number of elements in the array currently. Every array with less than 22 elements is considered sorted. If the array was sorted by the time Monocarp was performing that query, he wrote out a character 1. Otherwise, he wrote out a character 0.

You are given a sequence ss of qq characters 0, 1, + and/or -. These are the characters that were written out by Monocarp, given in the exact order he wrote them out.

You have to check if this sequence is consistent, i. e. it was possible for Monocarp to perform the queries so that the sequence of characters he wrote out is exactly ss .

输入格式

The first line of the input contains one integer tt ( 1t1041 \le t \le 10^4 ) — the number of test cases.

Each test case consists of one line containing the string ss ( 1s21051 \le |s| \le 2 \cdot 10^5 ). This string consists of characters 0, 1, + and/or -. This is the sequence of characters written by Monocarp, in the order he wrote them.

Additional constraints on the input:

  • for every prefix of ss , the number of characters + on it is not less than the number of characters - on it. In other words, if Monocarp actually performed these queries, he would never try to remove the last element from the empty array;
  • the sum of s|s| over all test cases does not exceed 21052 \cdot 10^5 .

输出格式

For each test case, print YES if it was possible for Monocarp to perform the queries so that the sequence of characters he wrote is exactly ss . Otherwise, print NO.

You can print each letter in any register.

输入输出样例

  • 输入#1

    7
    ++1
    +++1--0
    +0
    0
    ++0-+1-+0
    ++0+-1+-0
    +1-+0

    输出#1

    YES
    NO
    NO
    NO
    YES
    NO
    NO

说明/提示

In the first test case, Monocarp could perform the following sequence of queries:

  • add the integer 1313 ;
  • add the integer 3737 ;
  • check that the current array [13,37][13, 37] is sorted in non-descending order (and it is sorted).

In the fifth test case, Monocarp could perform the following sequence of queries:

  • add the integer 33 ;
  • add the integer 22 ;
  • check that the current array [3,2][3, 2] is sorted (it is not);
  • remove the last element;
  • add the integer 33 ;
  • check that the current array [3,3][3, 3] is sorted (it is);
  • remove the last element;
  • add the integer 5-5 ;
  • check that the current array [3,5][3, -5] is sorted (it is not).

In all other test cases of the example test, it is impossible for Monocarp to write the sequence ss when performing the queries according to the statement.

首页