結果
問題 |
No.1330 Multiply or Divide
|
ユーザー |
|
提出日時 | 2021-01-08 22:04:09 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 927 bytes |
コンパイル時間 | 29,414 ms |
コンパイル使用メモリ | 375,924 KB |
実行使用メモリ | 5,632 KB |
最終ジャッジ日時 | 2024-11-16 11:58:57 |
合計ジャッジ時間 | 17,042 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 39 WA * 7 |
ソースコード
use std::io::*; fn main() { let mut s: String = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let n: usize = itr.next().unwrap().parse().unwrap(); let m: usize = itr.next().unwrap().parse().unwrap(); let p: usize = itr.next().unwrap().parse().unwrap(); let a: Vec<usize> = (0..n) .map(|_| itr.next().unwrap().parse().unwrap()) .collect(); let mut max1 = 0; let mut max2 = 0; for &e in a.iter() { max1 = std::cmp::max(max1, e); if e % p != 0 { max2 = std::cmp::max(max2, e); } } if max1 > m { println!("{}", 1); } else if max2 <= 1 { println!("-1"); } else { let mut now = 1; let mut ans = 0; while max1 * now <= m { ans += 1; now *= max2; } println!("{}", ans + 1); } }