結果
問題 | No.1359 [Zelkova 3rd Tune] 四人セゾン |
ユーザー |
|
提出日時 | 2022-10-08 11:58:54 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 367 ms / 2,000 ms |
コード長 | 1,417 bytes |
コンパイル時間 | 16,476 ms |
コンパイル使用メモリ | 382,880 KB |
実行使用メモリ | 16,768 KB |
最終ジャッジ日時 | 2024-06-22 12:57:33 |
合計ジャッジ時間 | 40,017 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 75 |
コンパイルメッセージ
warning: variable `MOD` should have a snake case name --> src/main.rs:2:37 | 2 | fn power(base: usize, times: usize, MOD: usize) -> usize { | ^^^ | = note: `#[warn(non_snake_case)]` on by default help: rename the identifier or convert it to a snake case raw identifier | 2 | fn power(base: usize, times: usize, r#mod: usize) -> usize { | ~~~~~ warning: variable `MOD` should have a snake case name --> src/main.rs:15:9 | 15 | let MOD = nkm[2]; | ^^^ | help: rename the identifier or convert it to a snake case raw identifier | 15 | let r#mod = nkm[2]; | ~~~~~
ソースコード
fn power(base: usize, times: usize, MOD: usize) -> usize {if times == 0 { return 1usize % MOD; }if times == 1 { return base % MOD; }let temp = power(base, times/2, MOD);temp * temp % MOD * power(base, times%2, MOD) % MOD}fn main() {let mut nkm = String::new();std::io::stdin().read_line(&mut nkm).ok();let nkm: Vec<usize> = nkm.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();let n = nkm[0];let k = nkm[1];let MOD = nkm[2];let mut p = String::new();std::io::stdin().read_line(&mut p).ok();let mut p: Vec<usize> = p.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();let mut e = String::new();std::io::stdin().read_line(&mut e).ok();let mut e: Vec<usize> = e.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();let mut a = String::new();std::io::stdin().read_line(&mut a).ok();let mut a: Vec<usize> = a.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();let mut h = String::new();std::io::stdin().read_line(&mut h).ok();let mut h: Vec<usize> = h.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();p.sort();e.sort();a.sort();h.sort();let result = (0..n).map(|i| p[i].max(e[i]).max(a[i]).max(h[i]) - p[i].min(e[i]).min(a[i]).min(h[i])).map(|v| power(v, k, MOD)).sum::<usize>() %MOD;println!("{}", result);}