結果
問題 | No.1146 土偶Ⅰ |
ユーザー |
|
提出日時 | 2020-08-05 23:15:34 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 935 bytes |
コンパイル時間 | 10,751 ms |
コンパイル使用メモリ | 397,332 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-17 20:37:14 |
合計ジャッジ時間 | 11,744 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
use std::cmp::{min, max}; fn gcd(a: usize, b: usize) -> usize { if a % b == 0 { return b; } gcd(b, a % b) } fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut a: Vec<usize> = vec![]; for _ in 0..n { let mut atemp = String::new(); std::io::stdin().read_line(&mut atemp).ok(); let atemp: usize = atemp.trim().parse().unwrap(); a.push(atemp); } let mut result: usize = 0; for i in 0..n { for j in i+1..n { let temp = gcd(max(a[i], a[j]), min(a[i], a[j])); if temp == 1 { result += n - 1 - j; continue; } for k in j+1..n { if gcd(max(temp, a[k]), min(temp, a[k])) == 1 { result += 1; } } } } println!("{}", result); }