結果
問題 |
No.1161 Many Powers
|
ユーザー |
|
提出日時 | 2020-08-12 18:22:35 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 80 ms / 2,000 ms |
コード長 | 793 bytes |
コンパイル時間 | 11,934 ms |
コンパイル使用メモリ | 388,280 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-09 18:31:28 |
合計ジャッジ時間 | 13,557 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 23 |
ソースコード
fn power(i: usize, p: usize, c: usize) -> usize { if p == 0 { return 1usize; } if p == 1 { return i; } let temp = power(i, p/2, c); temp * temp * power(i, p%2, c) % c } fn main() { let mut abc = String::new(); std::io::stdin().read_line(&mut abc).ok(); let abc: Vec<usize> = abc.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let a = abc[0]; let b = abc[1]; let c = abc[2]; let mut values: Vec<usize> = vec![0; c+1]; for i in 1..=c { values[i] = power(i, b, c); } let mut result = 0usize; for i in 1..=a%c { result += values[i]; result %= c; } let times = a / c; for v in values.iter() { result += v * times; result %= c; } println!("{}", result); }