結果
問題 |
No.3233 順列判定
|
ユーザー |
![]() |
提出日時 | 2025-08-15 21:52:05 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 13 ms / 1,000 ms |
コード長 | 563 bytes |
コンパイル時間 | 12,197 ms |
コンパイル使用メモリ | 399,332 KB |
実行使用メモリ | 7,720 KB |
最終ジャッジ日時 | 2025-08-15 21:54:45 |
合計ジャッジ時間 | 13,663 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 40 |
ソースコード
use proconio::input; fn main() { input! { n: usize, m: usize } let mut seen = vec![false; n]; for i in 1..=n { let x = pow(i, m, n); if seen[x] { println!("No"); return; } seen[x] = true; } println!("Yes"); } fn pow(x: usize, mut k: usize, m: usize) -> usize { let mut res = 1; let mut pow = x; while k > 0 { if k & 1 == 1 { res *= pow; res %= m; } pow *= pow; pow %= m; k >>= 1; } res }