結果
| 問題 | No.3458 Scores of Subsequence |
| コンテスト | |
| ユーザー |
norioc
|
| 提出日時 | 2026-02-28 15:21:03 |
| 言語 | Rust (1.93.0 + proconio + num + itertools) |
| 結果 |
AC
|
| 実行時間 | 17 ms / 2,000 ms |
| コード長 | 1,009 bytes |
| 記録 | |
| コンパイル時間 | 8,194 ms |
| コンパイル使用メモリ | 202,572 KB |
| 実行使用メモリ | 7,844 KB |
| 最終ジャッジ日時 | 2026-02-28 15:21:35 |
| 合計ジャッジ時間 | 3,939 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge7 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
コンパイルメッセージ
warning: unused import: `std::collections::HashMap` --> src/main.rs:4:5 | 4 | use std::collections::HashMap; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default warning: unused import: `std::hash::Hash` --> src/main.rs:5:5 | 5 | use std::hash::Hash; | ^^^^^^^^^^^^^^^
ソースコード
#![allow(non_snake_case)]
#![allow(dead_code, unused_macros)]
use std::collections::HashMap;
use std::hash::Hash;
#[allow(unused_imports)]
use proconio::{input, marker::Usize1, marker::Chars};
#[allow(unused_imports)]
use itertools::Itertools;
macro_rules! d {
( $( $x:expr ),* $(,)? ) => {
println!(
concat!( $( stringify!($x), "={:?} " ),* ),
$( $x ),*
);
};
}
fn mod_pow(base: i64, exp: i64, modulus: i64) -> i64 {
if exp == 0 { return 1 }
if exp == 1 { return base % modulus }
let x = mod_pow(base, exp / 2, modulus);
if exp & 1 > 0 {
((x * base) % modulus) * x % modulus
} else {
x * x % modulus
}
}
const MOD: i64 = 998244353;
fn main() {
input! {
S: Chars,
}
let mut ans = 0;
let mut m = 0;
for c in S {
if c == 'A' {
ans += mod_pow(3, m, MOD);
ans %= MOD;
} else if c == 'M' {
m += 1;
}
}
println!("{ans}");
}
norioc