結果

問題 No.1083 余りの余り
ユーザー phspls
提出日時 2022-12-06 21:27:17
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 51 ms / 3,000 ms
コード長 699 bytes
コンパイル時間 14,329 ms
コンパイル使用メモリ 378,704 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-13 09:19:01
合計ジャッジ時間 14,061 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 31
権限があれば一括ダウンロードができます
コンパイルメッセージ
warning: unused variable: `n`
 --> src/main.rs:6:9
  |
6 |     let n = nk[0];
  |         ^ help: if this is intentional, prefix it with an underscore: `_n`
  |
  = note: `#[warn(unused_variables)]` on by default

ソースコード

diff #
プレゼンテーションモードにする

fn main() {
let mut nk = String::new();
std::io::stdin().read_line(&mut nk).ok();
let nk: Vec<usize> = nk.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();
let n = nk[0];
let k = nk[1];
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();
a.sort();
a.reverse();
let minval = a.pop().unwrap();
let n = a.len();
let mut result = k % minval;
for i in 1..1<<n {
let val = (0..n).filter(|&j| ((i >> j) & 1) == 1).fold(k, |x, y| x % a[y]);
result = result.max(val % minval);
}
println!("{}", result);
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0