提出 #70242837


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll MOD=1000000007;
const ll INF = (1LL<<60);


int main() {
  int q;cin >> q;
  int lr=1e9,len=0,count=0;
  vector<bool> v;
  while (q--) {
    int a;cin >> a;
    a--;
    if (a) {
      len--;
      if (v[v.size()-1]) {
        count--;
      } else {
        count++;
      }
      v.pop_back();
      if (len==lr) {
        lr=1e9;
      }
    } else {
      char c;cin >> c;
      len++;
      if (c=='(') {
        count++;
        v.push_back(true);
      } else {
        count--;
        v.push_back(false);
        if (count==-1) {
          lr=min(lr,len-1);
        }
      }
    }
    if (len<lr && count==0) cout << "Yes" << endl;
    else cout << "No" << endl;
  }
}

提出情報

提出日時
問題 C - Brackets Stack Query
ユーザ Rsetu45
言語 C++ 23 (gcc 12.2)
得点 300
コード長 797 Byte
結果 AC
実行時間 868 ms
メモリ 3696 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 1
AC × 18
セット名 テストケース
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_small_00.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 03_corner_00.txt, 03_corner_01.txt, 03_corner_02.txt, 03_corner_03.txt, 03_corner_04.txt, 03_corner_05.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 3456 KiB
01_small_00.txt AC 481 ms 3464 KiB
02_random_00.txt AC 853 ms 3376 KiB
02_random_01.txt AC 851 ms 3568 KiB
02_random_02.txt AC 844 ms 3440 KiB
02_random_03.txt AC 850 ms 3476 KiB
02_random_04.txt AC 843 ms 3448 KiB
02_random_05.txt AC 843 ms 3656 KiB
02_random_06.txt AC 853 ms 3432 KiB
02_random_07.txt AC 846 ms 3468 KiB
02_random_08.txt AC 843 ms 3508 KiB
02_random_09.txt AC 843 ms 3460 KiB
03_corner_00.txt AC 863 ms 3588 KiB
03_corner_01.txt AC 868 ms 3588 KiB
03_corner_02.txt AC 856 ms 3588 KiB
03_corner_03.txt AC 856 ms 3624 KiB
03_corner_04.txt AC 856 ms 3696 KiB
03_corner_05.txt AC 848 ms 3584 KiB