Seminte

Time limit: 0.1s Memory limit: 32MB Input: seminte.in Output: seminte.out

În Imperiul Rațelor de Cauciuc, o criză este pe cale să lovească: a sosit ora mesei! Toate rațele din prestigioasa familie Mugur sunt așezate pe axa imperiului, fiecare având un loc fix, așteptând nerăbdătoare să primească semințe. Pentru a preveni o revoltă, Regele Mugurel a mobilizat cei mai buni îngrijitori imperiali. Fiecare îngrijitor este echipat cu un sac magic ce conține o rezervă infinită de semințe de cea mai bună calitate.

Axa imperiului poate fi reprezentată ca o dreaptă de numere întregi. Pe această axă se află NN rațe din familia Mugur, situate în poziții distincte, și MM îngrijitori imperiali, de asemenea situați în poziții distincte.

Timpul începe să se scurgă. Într-o secundă, fiecare îngrijitor se poate deplasa cu un pas (o unitate de distanță) la stânga sau la dreapta. Formal, un îngrijitor ce se află pe poziția ii se poate deplasa pe poziția i1i-1 sau i+1i+1 într-o secundă. Toți îngrijitorii se pot deplasa simultan și independent unii de ceilalți, iar pe orice poziție ii se pot afla oricâți îngrijitori. O rață este considerată hrănită în momentul în care un îngrijitor ajunge exact în poziția în care se află aceasta. Un îngrijitor poate hrăni oricâte rațe dorește de-a lungul drumului său.

Cum rațele regale nu pot rezista mult fără să fie hrănite, trebuie să determinați timpul minim în care toate rațele vor fi hrănite cel puțin o dată.

Date de intrare

Prima linie conține două numere NN și MM, reprezentând numărul de rațe și numărul de îngrijitori.

A doua linie conține NN numere naturale distincte aia_i (1iN)1 \le i \le N), reprezentând pozițiile rațelor pe axa imperială.

A treia linie conține MM numere naturale distincte bib_i (1iM)1 \le i \le M), reprezentând pozițiile de început ale îngrijitorilor pe axa imperială.

Date de ieșire

Prima linie va conține un singur număr KK, reprezentând timpul minim în care toate rațele vor fi hrănite cel puțin o dată.

Restricții și precizări

  • 1N,M1051 \le N, M \le 10^5
  • 1ai109,1iN1 \le a_i \le 10^9, 1\le i \le N
  • 1bi109,1iM1 \le b_i \le 10^9, 1\le i \le M
# Puncte Restricții
1 5 N=1N = 1
2 7 bi+1bi=1b_{i+1}-b_i = 1 (1i<M1 \le i < M)
3 8 ai+1ai=1a_{i+1}-a_i = 1 (1i<N)1 \le i < N)
4 9 ai+1ai=bj+1bja_{i+1}-a_i = b_{j+1}-b_j (1i<N1 \le i < N și 1j<M1 \le j < M)
5 10 N=2N = 2
6 11 M=2M = 2
7 19 1ai,bj10001 \le a_i, b_j \le 1000 (1iN,1jM1 \le i \le N, 1 \le j \le M)
8 13 1N,M10001 \le N, M \le 1000
9 12 Fără restricții suplimentare

Exemplul 1

seminte.in

3 2
9 19 1
6 15

seminte.out

11

Exemplul 2

seminte.in

2 3
1 10
12 14 8

seminte.out

7

Exemplul 3

seminte.in

5 2
2 4 10 14 30
5 49

seminte.out

19

Exemplul 4

seminte.in

7 3
1 4 9 10 12 15 20
5 8 15

seminte.out

5

Explicații

În primul exemplu, îngrijitorul de pe poziția 6 va hrăni, în ordine, rațele de pe pozițiile 9 și 1, cu durata 69+91=11|6-9|+|9-1|=11. Îngrijitorul de pe poziția 15 va hrăni rața de pe poziția 19, cu durata 1519=4|15-19|=4. Deci, K=max(11,4)=11K = max(11, 4) = 11.

În al doilea exemplu, îngrijitorul de pe poziția 8 va hrăni rața de pe poziția 1, cu durata 81=7|8-1|=7. Îngrijitorul de pe poziția 12 va hrăni rața de pe poziția 10, cu durata 1210=2|12-10|=2. Îngrijitorul de pe poziția 14 nu influențează rezultatul, însă ar putea și el hrăni rața de pe poziția 10 cu durata 1410=4|14-10|=4, timpul minim fiind în continuare același.

În al treilea exemplu, îngrijitorul de pe poziția 5 va hrăni rațele de pe pozițiile 4, 2, 10, 14, cu durata 54+42+210+1014=15|5-4|+|4-2|+|2-10|+|10-14|=15. Îngrijitorul de pe poziția 49 va hrăni rața de pe poziția 30, cu durata 4930=19|49-30|=19.

În al patrulea exemplu, îngrijitorul de pe poziția 5 va hrăni rațele de pe pozițiile 4 și 1, cu durata 54+41=4|5-4|+|4-1|=4. Îngrijitorul de pe poziția 8 va hrăni rațele de pe pozițiile 9, 10 și 12, cu durata 89+910+1012=4|8-9|+|9-10|+|10-12|=4. Îngrijitorul de pe poziția 15 va hrăni rațele de pe pozițiile 15 și 20, cu durata 1515+1520=5|15-15|+|15-20|=5.

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