問題一覧 > 通常問題

No.3074 Divide Points Fairly

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 45
作問者 : 👑 binap / テスター : 👑 p-adic hamamu 遭難者
4 ProblemId : 11948 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-03-24 23:57:31

問題文

座標平面上の $2N$ 個の相異なる格子点 $(x_1, y_1), \cdots, (x_{2N},y_{2N})$ が与えられます。次の条件を全て満たすような直線 $L$ を $1$ つ求めてください。

  • 直線 $L$ 上に与えられた格子点は存在しない。

  • 直線 $L$ によって分割された $2$ つの半平面は、それぞれ与えられた格子点を $N$ 個ずつ含む。

  • 直線 $L$ の方程式は $|a| \leq 10^5, |b| \leq 10^5, |c| \leq 2\times 10^{10}$ なる整数組 $(a, b, c)$ を用いて $ax+by+c = 0$ として表わせる。

この問題の制約下では条件を満たす $L$ が少なくとも $1$ つ存在することが示せます。

制約

  • $1\leq N \leq 5\times 10^4$

  • $|x_i| \leq 10^5$ $(1\leq i \leq 2N)$

  • $|y_i| \leq 10^5$ $(1\leq i \leq 2N)$

  • $(x_i, y_i) \neq (x_j, y_j)$ $(i \neq j)$

  • 入力は全て整数。

入力

$N$
$x_1$ $y_1$
$\vdots$
$x_{2N}$ $y_{2N}$

出力

$a$ $b$ $c$

求める直線 $L$ の方程式を $ax+by+c=0$ としたときの整数 $a, b, c$ を出力してください。

$|a| \leq 10^5, |b| \leq 10^5, |c| \leq 2\times 10^{10}$ でなければなりません。

ただし $a = b = 0$ なる出力をしたときは WA となります。

注意

本題はスペシャルジャッジです。複数の解が存在する場合があります。また出力形式を満たさない提出に対するジャッジの挙動は不定です。

サンプル

サンプル1
入力
2
1 1
2 1
3 2
3 4
出力
1 1 -4

入力された $4$ 点と直線 $x + y -4 = 0$ を図示しています。

  • 直線 $L$ 上に入力の格子点は存在しない。

  • 直線 $L$ によって入力の格子点たちは $2$ つずつに分割される。

  • $|1|\leq 10^5, |-4| \leq 2\times 10^{10}$

よりこの出力は条件を満たす $L$ の $1$ つです。

他にも

-3 -3 12
2 0 -5

なども条件を満たします。

サンプル2
入力
2
1 1
2 1
1 2
2 2
出力
2 0 -3
サンプル3
入力
3
-2 -7
-6 2
5 -2
0 6
6 -9
-2 0
出力
2 1 3

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。