Problem description
W Januszex S.A. nadal trwa poważny konflikt (zaczął się około trzydziestego szóstego sparingu przy okazji zadania Konflikt). Przypomnijmy o co chodzi.
Pan Janusz, dotychczasowy szef firmy, pokłócił się z panią Grażyną, swoją żoną. Mniejsza o co, ale niestety nikt nie chce odpuścić i firmę trzeba będzie podzielić. W ramach ugody, część pracowników będzie pracowała u pana Janusza, a pozostali u pani Grażyny (oczywiście każdy pracownik ma dokładnie jednego szefa). Po podziale firmy współpracować będą ze sobą jedynie osoby, które mają tego samego szefa.
Pan Janusz i pani Grażyna, choć skłóceni, wspólnie zauważyli, że pracownikom najlepiej pracuje się, gdy pracują w towarzystwie ludzi, których lubią. Dlatego (jakiś czas temu) chcieli, aby po podziale firmy na dwie części łączna liczba par współpracowników, którzy się lubią była największa możliwa. Była bowiem nadzieja, że kiedyś szefowie się pogodzą i firma ponownie się połączy. Niestety, konflikt jest tak poważny, że chyba nie. Wyznaczone przez Ciebie rozwiązania poprzedniego zadania są nieakceptowalne, bo zawsze albo pan Janusz albo pani Grażyna czuje się pokrzywdzona, że dostał(a) mniejszą/gorszą część firmy.
Postanowili więc teraz, że firmę należy podzielić tak, aby po podziale liczby par pracowników, którzy się lubią u pana Janusza oraz u pani Grażyny były możliwie zbliżone. Dokładniej, niech w skutek podziału firmy u pana Janusza jest A par pracowników, którzy się lubią, a u pani Grażyny jest B par pracowników, którzy się lubią to celem jest minimalizacja wartości bezwzględnej różnicy między A i B (|A−B|). Pomóż szefom dokonać sprawiedliwego podziału firmy.
Napisz program, który: wczyta z wejścia pary pracowników, którzy się lubią i wypisze na wyjście wartość bezwzględną różnicy w liczbie par współpracowników, którzy się lubią u pana Janusza i u pani Grażyny w optymalnym podziale firmy.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N oraz M, oddzielone pojedynczym odstępem. Oznaczają one odpowiednio liczbę pracowników firmy oraz liczbę par osób, które się lubią. W kolejnych M wierszach znajduje się opis kolejnych par, które się lubią, po jednej w wierszu. Opis każdej pary składa się z dwóch liczb naturalnych ui oraz vi, oddzielonych pojedynczym odstępem. Oznaczają one, że pracownicy numer ui i vi lubią się.
Pracownicy numerowani są kolejnymi liczbami naturalnymi od 1 do N włącznie. Pan Janusz ma numer 1, a pani Grażyna ma numer 2.
Gwarantowane jest, że każda (nieuporządkowana) para osób zostanie podana na wejściu co najwyżej raz.
Wyjście
W pierwszym (jedynym) wierszu wyjścia należy wypisać jedną liczbę całkowitą – minimalną możliwą do osiągnięcia (wskutek optymalnego podziału) różnicę liczby par współpracowników, którzy się lubią po podziale firmy w części przypadającej panu Januszowi i pani Grażynie.
Uwaga
Pomimo tego, że pan Janusz pokłócił się z panią Grażyną, nie jest gwarantowane, że się nie lubią.
Ograniczenia
2 ≤ N ≤ 100 000, 0 ≤ M ≤ 500 000.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Optymalne rozwiązanie pozostawia w firmie pana Janusza następujących pracowników: {1, 3, 4, 6}, zaś w firmie pani Grażyny pracowników {2, 5, 7, 8, 9}. Wówczas zarówno pan Janusz jak i pani Grażyna mają w swoich zespołach po 4 pary lubiących się pracowników (dla pana Janusza są to pary (1,3), (3,6), (4,6) i (1,6), a dla pani Grażyny są to pary (2,8), (2,9), (5,7) i (8,9)). Nie jest to jedyne optymalne rozwiązanie. |