Problem description
Jasio chce postawić płot wokół swojej działki. Płot musi być racjonalny, a więc ustawiony w taki sposób, aby ogradzał jak największy teren. Jasio musi w tym celu musi wykopać na swojej działce dołki na słupki. Niestety działka leży na bardzo trudnym do kopania dziur terenie – parę centymetrów pod ziemią Zły Czarodziej Nabuchodonozor umieścił magiczną barierę, przez którą nie da się kopać.
Dobry Czarodziej Barabasz może ją jednak przerwać w niektórych spośród N wybranych punktach kratowych. Jak powszechnie wiadomo, Barabasz chodził na lekcje PP i za przebicie magicznej bariery w i-tym podanym punkcie żąda od Jasia Ci bajtalarów.
Zły Czarodziej Nabuchodonozor postanowił jeszcze bardziej utrudnić zadanie Jasiowi – co jakiś czas rzuca zaklęcie, które wzmacnia lub osłabia swoją magiczną barierę. Zaklęcie o numerze j zmienia moc magicznej bariery w (αj,βj)-obszarze kątowym w taki sposób, że od momentu j Barabasz żąda od Jasia o Dj więcej bajtalarów za przebicie magicznej bariery w każdym punkcie należącym do tego obszaru. Nabuchodonozor nigdy nie osłabi w pełni swojej magicznej bariery, więc zawsze koszt przebicia bariery w dowolnym punkcie będzie dodatni.
Pomóż Jasiowi wybrać moment na zbudowanie płotu, by musiał jak najmniej zapłacić Barabaszowi. Spośród momentów, w których koszt jest najtańszy należy wybrać najwcześniejszy.
Napisz program, który wczyta lokalizację możliwych przerwań bariery, początkowe koszty przerwania bariery w podanych punktach oraz opis zmian kosztów przerwania bariery i wyznaczy najwcześniejszy moment, w którym sumaryczny koszt przerwania bariery w punktach, które stworzą racjonalny płot będzie najtańszy i tenże najmniejszy koszt oraz ten moment wypisze na standardowe wyjście.
Rysunek do testu przykładowego.
Uwaga
(α,β)-obszarem kątowym nazywamy wszystkie punkty (x,y), że miara kąta między osią OX, a prostą łączącą punkty (0,0) i (x,y) podana w radianach zawiera się w przedziale [α,β]. Punkt (0,0) należy do każdego obszaru kątowego.
Wejście
W pierwszym wierszu standardowego wejścia znajdują się dwie liczby naturalne N oraz M, oddzielone pojedynczym odstępem, oznaczające odpowiednio liczbę punktów kratowych, w których Barabasz może przerwać barierę oraz liczbę zaklęć rzuconych przez Nabuchodonozora. W każdym z kolejnych N wierszy znajdują się po trzy liczby całkowite Xi, Yi oraz Ci pooddzielane pojedynczymi odstępami, oznaczające odpowiednio: współrzędne i-tego punktu kratowego oraz koszt przerwania bariery w tym punkcie. Wszystkie podane punkty są parami różne. W każdym z kolejnych M wierszy znajdują się po dwie liczby rzeczywiste αj, βj i liczba naturalna Dj, pooddzielane pojedynczymi odstępami, oznaczające odpowiednio parametry obszaru kątowego, na który ma wpływ j-te zaklęcie i zmianę kosztu przebicia bariery w tym obszarze.
Wyjście
W pierwszym wierszu standardowego wyjścia należy wypisać dwie liczby naturalne oddzielone pojedynczym odstępem – najwcześniejszy moment, w którym przerwanie bariery w punktach, które stworzą racjonalny płot będzie najtańsze i najmniejszy możliwy sumaryczny koszt przerwania bariery w tych punktach.
Jeżeli najmniejszy możliwy koszt zostanie uzyskany przed pierwszym zaklęciem to należy przyjąć, że jest to moment 0.
Ograniczenia
1 ≤ N ≤ 100 000, 1 ≤ M ≤ 1 000 000, − 1 000 000 ≤ Xi, Yi ≤ 1 000 000, 1 ≤ Ci ≤ 107, − 107 ≤ Di ≤ 107, 0 ≤ αi, βi < 2π, αi i βi są podane z dokładnością do ośmiu cyfr po kropce dziesiętnej.
Dla każdego podanego na wejściu punktu kratowego (x,y) i każdego podanego obszaru kątowego różnica między miarą kąta między osią OX i prostą łączącą punkty (0,0) i (x,y), a dowolnym z ograniczeń obszaru kątowego będzie większa niż 10−6.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Na rysunku niebieskim kolorem zaznaczono obszar kątowy pierwszego zaklęcia, zielonym kolorem zaznaczono obszar kątowy drugiego zaklęcia. Czerwonym kolorem zaznaczono racjonalny płot. Punkty zostały ponumerowane w takiej kolejności, w jakiej pojawiły się na wejściu. |