結果

問題 No.2924 <===Super Spaceship String===>
ユーザー tnodinotnodino
提出日時 2024-06-16 08:25:29
言語 Rust
(1.77.0 + proconio)
結果
AC  
実行時間 9 ms / 2,000 ms
コード長 820 bytes
コンパイル時間 14,812 ms
コンパイル使用メモリ 378,536 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2024-10-16 17:53:00
合計ジャッジ時間 15,377 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
5,248 KB
testcase_01 AC 1 ms
5,248 KB
testcase_02 AC 1 ms
5,248 KB
testcase_03 AC 1 ms
5,248 KB
testcase_04 AC 1 ms
5,248 KB
testcase_05 AC 0 ms
5,248 KB
testcase_06 AC 0 ms
5,248 KB
testcase_07 AC 8 ms
6,272 KB
testcase_08 AC 6 ms
6,400 KB
testcase_09 AC 5 ms
5,248 KB
testcase_10 AC 9 ms
5,888 KB
testcase_11 AC 7 ms
5,248 KB
testcase_12 AC 5 ms
5,248 KB
testcase_13 AC 5 ms
5,632 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

use proconio::input;
use proconio::fastout;
use proconio::marker::Chars;

#[fastout]
#[allow(non_snake_case)]
fn main() {
    input! {
        S: Chars,
    }
    let N = S.len();
    let mut stk = Vec::new();
    let mut cnt = 0;
    for i in 0..N {
        if S[i] == '<' {
            stk.push(S[i]);
            cnt += 1;
        }
        else if S[i] == '=' {
            stk.push(S[i]);
        }
        else {
            let len = stk.len();
            if cnt == 0 || stk[len-1] == '<' {
                stk.push(S[i]);
                cnt = 0;
            }
            else {
                let mut x = stk.pop().unwrap();
                while x == '=' {
                    x = stk.pop().unwrap();
                }
                cnt -= 1;
            }
        }
    }
    println!("{}", stk.len());
}
0