結果
問題 |
No.2176 LRM Question 1
|
ユーザー |
![]() |
提出日時 | 2023-01-06 22:38:18 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 619 bytes |
コンパイル時間 | 12,553 ms |
コンパイル使用メモリ | 390,044 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-30 19:02:00 |
合計ジャッジ時間 | 13,672 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 WA * 9 |
ソースコード
fn main() { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let l: usize = itr.next().unwrap().parse().unwrap(); let r: usize = itr.next().unwrap().parse().unwrap(); let m: usize = itr.next().unwrap().parse().unwrap(); let fact = |x| { let mut y = 1; for i in 1..=x { y *= i; } y }; let mut ans: usize = 0; for i in l..=r { let mut x = 1; for j in 1..=i { if fact(j) % m == 0 { x = 0; break; } else { x = (x % m) * (fact(j) % m) } } ans = (ans + x) % m; if x % m == 0 { break; } } println!("{}", ans); }