結果
| 問題 |
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);
}