| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 25 초 (추가 시간 없음) | 1024 MB | 6 | 2 | 2 | 66.667% |
Bajtazar od niedawna prowadzi zakład jubilerski w Bajtocji. Właśnie otrzymał nietypowe zlecenie. Klient przekazał mu dwa sznury składające się z różnego rodzaju kamieni szlachetnych i prosi go o przygotowanie pary naszyjników. Klient podał kilka warunków, które muszą spełniać naszyjniki:
Takie wymagania tylko w Bajtocji!
Pomóż Bajtazarowi wykonać to zlecenie i napisz program, który dla zadanych sznurów wskaże, jakie jest najdłuższe możliwe rozwiązanie.
Pierwszy wiersz standardowego wejścia zawiera liczbę naturalną q (1 ≤ q ≤ 20 000) oznaczającą liczbę zestawów danych. Dalej następuje opis kolejnych zestawów danych.
Opis każdego zestawu danych składa się z trzech wierszy. Pierwszy wiersz opisu zawiera dwie liczby całkowite n i m (1 ≤ n, m ≤ 100 000), oddzielone pojedynczym odstępem, oznaczające liczby kamieni w pierwszym i drugim sznurze. W drugim wierszu opisującym zestaw danych jest opis pierwszego sznura. Składa się on z n liczb całkowitych z zakresu od 0 do 109 oznaczających wartości kolejnych kamieni pierwszego sznura. W kolejnym wierszu opisany jest drugi sznur w postaci ciągu m liczb całkowitych z zakresu od 0 do 109.
W każdym teście suma wartości n oraz m dla wszystkich zestawów danych nie przekracza 20 000 000.
Dla każdego zestawu danych, zgodnie z ich kolejnością na wejściu, Twój program powinien wypisać na standardowe wyjście wiersz z jedną liczbą całkowitą, oznaczającą maksymalną długość naszyjnika spełniającego wymagania klienta.
1 6 4 0 1 2 3 4 5 3 1 3 6
3
Wyjaśnienie do przykładu: Najdłuższy możliwy naszyjnik składa się z trzech kamieni. Mogą to być np. kamienie o wartościach 2, 3, 4 z pierwszego sznura i kamienie o wartościach 3, 1, 3 z drugiego.