結果
問題 | No.2953 Maximum Right Triangle |
ユーザー |
|
提出日時 | 2024-11-08 21:49:39 |
言語 | Rust (1.83.0 + proconio) |
結果 |
RE
|
実行時間 | - |
コード長 | 644 bytes |
コンパイル時間 | 13,373 ms |
コンパイル使用メモリ | 380,164 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-08 21:49:58 |
合計ジャッジ時間 | 14,102 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 3 RE * 3 |
ソースコード
use proconio::{fastout, input};#[fastout]fn main() {input! {t: usize,dxy: [(usize, usize, usize); t],}for &(d, x, y) in &dxy {println!("{}", solve(d, x, y));}}fn solve(side_len: usize, x: usize, y: usize) -> usize {let d = gcd(x as i64, y as i64) as usize;let coef1 = (x * d / y).min((side_len - y) * d / x);let coef2 = ((side_len - x) * d / y).min(y * d / x);(x.pow(2) + y.pow(2)) / d * coef1.max(coef2)}fn gcd(mut a: i64, mut b: i64) -> i64 {a = a.abs();b = b.abs();while b != 0 {let r = a % b;a = b;b = r;}a}