intervale

Time limit: 0.07s Memory limit: 8MB Input: intervale.in Output: intervale.out

Se consideră NN intervale [Ai,Bi] (1iN)[A_i, B_i] \ (1 \leq i \leq N) disjuncte. Tuturor intervalelor li se aplică o operație de extindere la ambele capete cu o valoare naturală xx, astfel încât după extindere cu valoarea xx, intervalul [Ai,Bi][A_i, B_i] va deveni intervalul [Aix,Bi+x][A_i-x, B_i+x], (1iN)(1 \leq i \leq N).

După extindere, spunem că intervalele [Ai,Bi][A_i, B_i] și [Aj,Bj][A_j, B_j] aparțin aceluiași grup de intervale dacă ele se intersectează sau dacă există un interval [Ak,Bk][A_k, B_k] astfel încât [Ai,Bi][A_i,B_i] se intersectează cu [Ak,Bk][A_k, B_k] iar intervalele [Ak,Bk][A_k, B_k], [Aj,Bj][A_j, B_j] aparțin aceluiași grup de intervale.

Cerinţă

Să se determine valoarea minimă xx cu care vor trebui să fie extinse toate intervalele astfel încât să se formeze un grup cu cel puțin PP intervale.

Date de intrare

Fişierul de intrare intervale.in conţine pe prima linie numerele naturale NN și PP cu semnificația din enunț. Pe următoarele NN linii sunt descrise cele NN intervale, câte un interval pe linie. Pentru fiecare interval ii sunt specificate capetele sale AiA_i şi BiB_i.

Date de ieșire

Fişierul de ieșire intervale.out conţine pe prima linie numărul natural xx ce reprezintă valoarea minimă cu care vor trebui extinse intervalele astfel încât să se obțină cel puțin un grup format din cel minimum PP intervale.

Restricții și precizări

  • 2N100 0002 \leq N \leq 100 \ 000
  • 1 400 000 000Ai<Bi1 400 000 000-1 \ 400 \ 000 \ 000 \leq A_i < B_i \leq 1 \ 400 \ 000 \ 000
  • 2PN2 \leq P \leq N
  • Două intervale se intersectează dacă au cel puţin un punct comun
  • Pentru 30%30\% dintre teste N10 000N \leq 10 \ 000

Exemplu

intervale.in

7 3
8 9
21 25
14 17
1 4
28 32
35 42
100 200

intervale.out

2

Explicație

După extinderea cu 22 a celor 77 intervale se obțin intervalele: [6,11][6, 11], [19,27][19, 27], [12,19][12, 19], [1,6][-1, 6], [26,34][26, 34], [33,44][33, 44], [98,202][98, 202]

Se formează astfel 33 grupuri de intervale:
Grupul 11: [1,6][-1, 6], [6,11][6, 11]
Grupul 22: [12,19][12, 19], [19,27][19, 27], [26,34][26, 34], [33,44][33, 44]
Grupul 33: [98,202][98, 202]
Grupul 22 este format din cel puțin 33 intervale

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