Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
SKOIZSNR1 - Sieć komórkowa |
Dane jest n punktów na linii prostej — są to pozycje (współrzędne X) miast oraz m punktów na tej samej linii — są to pozycje (współrzędne X) przekaźników sieci komórkowej. Wszystkie przekaźniki pracują w ten sam sposób — zapewniają dostęp do sieci dla wszystkich miast, które znajdują się nie dalej niż r od przekaźnika.
Twoim zadaniem jest wyznaczenie minimalnej wartości r, dla której wszystkie miasta będą miały dostęp do sieci, to znaczy dla każdego miasta istnieć będzie przekaźnik ulokowany nie dalej niż r od miasta.
Jeśli r = 0, wtedy przekaźnik zapewnia dostęp do sieci tylko w punkcie, w którym się znajduje. Jeden przekaźnik może obsłużyć dowolną ilość miast, ale wszystkie te miasta muszą znajdować się w odległości nie większej niż r od niego.
Wejście
Pierwszy wiersz zawiera dwie liczby całkowite n and m (1 ≤ n, m ≤ 10^5 ) — ilość miast i ilość przekaźników. Drugi wiersz zawiera sekwencję n liczb całkowitych a1, a2, ..., an ( −10^9 ≤ ai ≤ 10^9 ) — współrzędne miast podane w porządku niemalejącym (kilka miast może leżeć w tym samym punkcie). Trzeci wiersz zawiera sekwencję m liczb całkowitych b1, b2, ..., bm ( −10^9 ≤ bj ≤ 10^9 ) — współrzędne przekaźników podane w porządku niemalejącym (kilka przekaźników może leżeć w tym samym punkcie).
Wyjście
Należy wypisać minimalne r, przy którym wszystkie miasta będą miały dostęp do sieci komórkowej.
Example
Input:
3 2
-2 2 4
-3 0
Output:
4
Input:
5 3
1 5 10 14 17
4 11 15
Output:
3
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2017-10-10 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |