Segmente

Time limit: 2s Memory limit: 16MB Input: segmente.in Output: segmente.out

Considerăm NN segmente în planul XOY. Segmentele sunt fie orizontale (paralele cu axa OX), fie verticale (paralele cu axa OY) şi au capetele în puncte de coordonate întregi. De asemenea, nu există două segmente orizontale situate pe aceeaşi dreaptă şi nici două segmente verticale situate pe aceeaşi dreaptă. Tuturor segmentelor li se poate aplica simultan o operaţie de prelungire la ambele capete cu o valoare întreagă DD. Pentru orice segment, dacă lungimea este LL, atunci după prelungire dimensiunea sa este L+2DL + 2 \cdot D.

Cerinţă

Să se determine valoarea minimă DD cu care trebuie prelungite segmentele astfel încât după prelungire segmentele să închidă cel puţin un dreptunghi.

Date de intrare

Pe prima linie a fişierului segmente.in se află un număr natural NN reprezentând numărul de segmente. Pe fiecare din următoarele NN linii se găsesc câte patru numere întregi x1y1x2y2x_1 y_1 x_2 y_2. Primele două reprezintă un capăt al segmentului, iar ultimele două celălalt capăt.

Date de ieșire

Pe prima linie a fişierului segmente.out, se va scrie un număr natural DD reprezentând dimensiunea minimă necesară prelungirii tuturor segmentelor pentru a se forma cel puţin un dreptunghi.

Restricții și precizări

  • 4N1 0004 ≤ N ≤ 1 \ 000
  • capetele segmentelor sunt numere întregi din intervalul [500 000 000,500 000 000][-500 \ 000 \ 000, 500 \ 000 \ 000]
  • Orice segment are lungimea iniţială de cel puţin 11
  • Pentru datele de intrare, nu există iniţial niciun dreptunghi deja format; de asemenea, vor exista cel puţin 22 segmente verticale şi cel puţin două orizontale
  • Se garantează că există o soluţie cu 1D1 000 000 0001 ≤ D ≤ 1 \ 000 \ 000 \ 000
  • Pentru 50%50\% din teste, N200N ≤ 200

Exemplu

segmente.in

5
1 2 1 3
3 2 4 2
2 3 2 5
5 2 5 7
5 6 7 6

segmente.out

3

Explicație

Segmentele iniţiale sunt cele îngroşate, cu linie punctată sunt extinderile cu 33 unităţi la ambele capete ale tuturor segmentelor, iar haşurat este marcat dreptunghiul care s-a format după prelungirea cu D=3D = 3.

Log in or sign up to be able to send submissions!