提出 #70259440


ソースコード 拡げる

#include<bits/stdc++.h>
using namespace std;
int q,x,y;
string s;
stack<pair<int,int> >a;
int main(){
    cin>>q;
    while(q--){
        int b;
        cin>>b;
        if(b==1){
            char c;
            cin>>c;
            s+=c;
            a.push({x, y});
            if(c=='(')x += 1;
			else x-= 1;
            y= min(y,x);
        }else{
            s.pop_back();
            if(!a.empty()){
                auto c=a.top();
                a.pop();
                x=c.first;
                y=c.second;
            }
        }
        if(y>=0&&x==0)cout<<"Yes\n";
		else cout<<"No\n";
    }
    
    return 0;
}

提出情報

提出日時
問題 C - Brackets Stack Query
ユーザ a_little_cat
言語 C++ 20 (gcc 12.2)
得点 300
コード長 656 Byte
結果 AC
実行時間 868 ms
メモリ 10552 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 3660 KiB
01_small_00.txt AC 482 ms 3704 KiB
02_random_00.txt AC 845 ms 3716 KiB
02_random_01.txt AC 839 ms 3520 KiB
02_random_02.txt AC 841 ms 3492 KiB
02_random_03.txt AC 843 ms 3528 KiB
02_random_04.txt AC 844 ms 3540 KiB
02_random_05.txt AC 843 ms 3676 KiB
02_random_06.txt AC 846 ms 3472 KiB
02_random_07.txt AC 838 ms 3668 KiB
02_random_08.txt AC 842 ms 3584 KiB
02_random_09.txt AC 840 ms 3572 KiB
03_corner_00.txt AC 867 ms 10504 KiB
03_corner_01.txt AC 867 ms 10472 KiB
03_corner_02.txt AC 868 ms 10436 KiB
03_corner_03.txt AC 866 ms 10480 KiB
03_corner_04.txt AC 868 ms 10552 KiB
03_corner_05.txt AC 860 ms 6856 KiB