結果
| 問題 |
No.3074 Divide Points Fairly
|
| コンテスト | |
| ユーザー |
urectanc
|
| 提出日時 | 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!();
}
urectanc