結果
| 問題 |
No.2811 Calculation Within Sequence
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-07-19 21:56:19 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 29 ms / 2,000 ms |
| コード長 | 1,399 bytes |
| コンパイル時間 | 23,169 ms |
| コンパイル使用メモリ | 378,288 KB |
| 実行使用メモリ | 9,344 KB |
| 最終ジャッジ日時 | 2024-07-19 21:56:49 |
| 合計ジャッジ時間 | 17,171 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 41 |
ソースコード
use anmitsu::number_theory::gcd;
use proconio::{fastout, input};
pub mod anmitsu {
pub mod number_theory {
/// Returns:
/// gcd(a, b)
///
/// Note:
/// gcd(0, 0) = 0
/// gcd(a, 0) = a
/// gcd(a, b) >= 0
/// gcd(a, a) == abs(a)
/// gcd(a, b) == gcd(b, a)
///
/// Complexity:
/// O(log(min(abs(a), abs(b))))
///
/// Exsamples:
/// ```
/// use anmitsu::math::number_theory::gcd;
/// assert_eq!(gcd(0, 0), 0);
/// assert_eq!(gcd(0, 1), 1);
/// assert_eq!(gcd(4, 6), 2);
/// assert_eq!(gcd(4, -6), 2);
/// assert_eq!(gcd(-4, 6), 2);
/// assert_eq!(gcd(-4, -6), 2);
/// assert_eq!(gcd(2, 2), 2);
/// assert_eq!(gcd(-2, -2), 2);
/// ```
pub fn gcd(mut a: i64, mut b: i64) -> u64 {
while b != 0 {
(a, b) = (b, a % b);
}
a.unsigned_abs()
}
}
}
#[fastout]
fn main() {
input! {
a: usize, b: usize,
t: [usize; a],
s: [usize; b],
}
let mut g = t[0];
for i in 1..a {
g = gcd(g as i64, t[i] as i64) as usize;
}
if (0..a).any(|i| t[i].abs_diff(*s.get(i).unwrap_or(&0)) % g != 0) {
println!("No");
} else {
println!("Yes");
}
}