Skalniak

Limit pamięci: 32 MB

Wicehrabia de Bajteaux jest właścicielem znanej na całym świecie kolekcji głazów. Dotychczas utrzymywał ją w piwnicach swojego pałacu, lecz teraz postanowił wyeksponować kolekcję w swoim ogromnym ogrodzie.

Ogrody wicehrabiego mają kształt kwadratu o bokach długości jednostek. Boki kwadratu leżą w kierunkach wschód-zachód i północ-południe. Dla każdego głazu wicehrabia wyznaczył współrzędne punktu, w którym chciałby, żeby został on umiejscowiony (współrzędne te to odległości od południowego i zachodniego boku ogrodu), a następnie przekazał te informacje służącym. Niestety jednak zapomniał im powiedzieć, w jakiej kolejności podał współrzędne poszczególnych punktów. Dokładniej, współrzędne niektórych punktów mógł podać w kolejności odcięta-rzędna, a niektórych rzędna-odcięta. Nieświadomi tego faktu służący rozmieścili głazy zakładając, że kolejność podawania współrzędnych jest standardowa (odcięta-rzędna).

Wicehrabia postanowił zadbać o bezpieczeństwo swojej kolekcji i ogrodzić ją płotem, tworząc skalniak. Płot ze względów estetycznych ma mieć kształt prostokąta o bokach równoległych do boków ogrodu. Wicehrabia tak rozplanował uporządkowania współrzędnych punktów, żeby łączna długość potrzebnego płotu była jak najmniejsza (czyli spośród wszystkich uporządkowań par współrzędnych podanych punktów, uporządkowanie wicehrabiego wymaga minimalnej łącznej długości płotu). (Przyjmujemy przy tym, że prostokąt może mieć boki zerowej długości.)

Aby nie wyszła na jaw omyłkowa realizacja planu wicehrabiego, służący muszą poprzestawiać głazy tak, by długość potrzebnego do ich ogrodzenia płotu była najmniejsza możliwa. Każdy głaz mogą przestawić tylko tak, by jego nowe położenie miało takie same współrzędne jak aktualne, tylko w odwrotnej kolejności. Chcą się przy tym jak najmniej napracować, gdyż głazy są ciężkie. Chcieliby więc zminimalizować łączny ciężar przestawianych głazów.

Zadanie

Napisz program, który:

  • wczyta ze standardowego wejścia aktualne rozmieszczenie głazów w ogrodach wicehrabiego oraz ich ciężar,
  • wyznaczy taki sposób poprzestawiania głazów, który umożliwi ogrodzenie ich jak najkrótszym płotem, a dodatkowo zminimalizuje łączny ciężar przestawianych głazów,
  • wypisze wynik na standardowe wyjście.

Wejście

Pierwszy wiersz wejścia zawiera jedną liczbę całkowitą (), oznaczającą liczbę głazów w kolekcji wicehrabiego. Kolejnych wierszy zawiera po trzy liczby całkowite , i (, ), pooddzielane pojedynczymi odstępami i oznaczające współrzędne aktualnego położenia i ciężar -tego głazu. Żadna para nieuporządkowana współrzędnych nie pojawi się na wejściu więcej niż raz.

Wyjście

Pierwszy wiersz wyjścia powinien zawierać dwie liczby całkowite, oddzielone pojedynczym odstępem - najmniejszą możliwą do osiągnięcia długość płotu i minimalny ciężar kamieni, jakie trzeba przemieścić, by taki wynik osiągnąć. Drugi wiersz powinien zawierać ciąg zer i/lub jedynek - -ty znak powinien być jedynką, jeżeli w optymalnym rozwiązaniu przemieszczamy -ty kamień, a zerem w przeciwnym przypadku. Jeżeli istnieje wiele poprawnych rozwiązań, Twój program powinien wypisać jedno z nich.

Przykład

Dla danych wejściowych:

5
2 3 400
1 4 100
2 2 655
3 4 100
5 3 277

poprawną odpowiedzią jest:

10 200
01010

Autorzy zadania: Marek Cygan i Jakub Radoszewski.