結果
問題 |
No.3074 Divide Points Fairly
|
ユーザー |
![]() |
提出日時 | 2025-03-28 22:04:22 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 18 ms / 2,000 ms |
コード長 | 900 bytes |
コンパイル時間 | 12,931 ms |
コンパイル使用メモリ | 399,236 KB |
実行使用メモリ | 7,324 KB |
最終ジャッジ日時 | 2025-03-28 22:04:49 |
合計ジャッジ時間 | 16,041 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 42 |
ソースコード
use proconio::input; fn main() { input! { n: usize, points: [(i64, i64); 2 * n] } let p = [ 99877, 99881, 99901, 99907, 99923, 99929, 99961, 99971, 99989, 99991, ]; for i in 0..10 { for j in 0..i { for k in 0..4 { let s0 = (k & 1) * -1; let s1 = (k >> 1 & 1) * -1; let (a, b) = (p[i] * s0, p[j] * s1); let mut z = points .iter() .map(|&(x, y)| a * x + b * y) .collect::<Vec<_>>(); z.sort_unstable(); let c0 = z[n - 1]; let c1 = z[n]; if c0 < c1 && c0 + 1 < c1 { let c = -(c0 + 1); println!("{a} {b} {c}"); return; } } } } unreachable!(); }