Runda 1: Porównywanie ofert

24.06.2009

Mistrzostwa w ujeżdżaniu smoków, najbardziej prestiżowa impreza organizowana przez pewną międzynarodową federację (dążącą do przejęcia władzy nad światem), zostaną w tym roku zorganizowane w Bajtocji. Każdy przedsiębiorca w królestwie postawił sobie za punkt honoru współuczestniczenie w tym wiekopomnym wydarzeniu. Kancelaria króla Bajtazara z największym trudem zdołała przyjąć wszystkie projekty uroczystości i wydarzeń. Wybranie najlepszych okazało się nie lada wyzwaniem. Król wezwał na dwór najświatlejsze umysły w kraju, udostępnił im najpotężniejsze komputery Bajtocji i zlecił wyselekcjonowanie najlepszych propozycji. Jednak gdy geniusze myślą, inni już pracują - Tobie przypadła działka wyznaczenia podobieństw i różnic między dwoma danymi projektami.

Projekty składają się z pomysłów, które dla wygody ponumerowano liczbami całkowitymi. Mając dane dwa projekty masz za zadanie wyznaczyć: zbiór pomysłów zawartych w jednym lub w drugim projekcie, zbiór pomysłów, które zawarte są w obu projektach oraz zbiór pomysłów, które zawarte są w dokładnie jednym z dwóch projektów.

Wejście

W pierwszej linii wejścia dana jest liczba n (1 ≤ n ≤ 106) - rozmiar pierwszego projektu. Następnie danych jest n różnych liczb całkowitych w porządku rosnącym (co do wartości bezwzględnej nie większych od 109) - są to pomysły z pierwszego projektu. W drugiej linii wejścia dana jest liczba m (1 ≤ m ≤ 106) - rozmiar drugiego projektu. Następnie danych jest m różnych liczb całkowitych w porządku rosnącym (co do wartości bezwzględnej nie większych od 109) - pomysły z drugiego projektu.

Wyjście

W pierwszej linii należy wypisać pomysły zawarte w przynajmniej jednym z projektów (w porządku rosnącym). W drugiej linii należy wypisać pomysły zawarte w obu projektach (w porządku rosnącym), W trzeciej linii należy wypisać pomysły zawarte w dokładnie jednym z dwóch projektów (w porządku rosnącym).

Przykład

Dla danych wejściowych

10 2 3 5 6 7 9 10 12 14 16
10 3 4 6 7 9 11 12 14 15 16

poprawną odpowiedzią jest

2 3 4 5 6 7 9 10 11 12 14 15 16
3 6 7 9 12 14 16
2 4 5 10 11 15
Uwaga: Ze względu na duży rozmiar danych zaleca się obsługiwanie standardowego wejścia i wyjścia za pomocą funkcji printf(...) i scanf(...) zamiast strumieni cout i cin.
kod: OFFERCMP, limity: 8 s, 32 MB

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com