Matice
Matici K(N,c,d) definujeme jako celočíselnou čtvercovou matici velikosti NxN, která má na hlavní i vedlejší diagonále pouze nuly. V oblasti nad hlavní a nad vedlejší diagonálou a v oblasti pod hlavni a pod vedlejší diagonálou obsahuje matice K(N,c,d) pouze hodnoty c. Všude jinde obsahuje hodnoty d.Příklad: K(7, 4, 1):
0 4 4 4 4 4 0 1 0 4 4 4 0 1 1 1 0 4 0 1 1 1 1 1 0 1 1 1 1 1 0 4 0 1 1 1 0 4 4 4 0 1 0 4 4 4 4 4 0Pro daná celá čísla N, a1 ≤ a2, b1 ≤ b2 defnujeme množinu matic M(N, a1, a2, b1, b2) takto:
M(N, a1, a2, b1, b2) = {K(N, c, d) | a1 ≤ c ≤ a2, b1 ≤ d ≤ b2 }.
Dvě matice A a B z množiny M(N, a1, a2, b1, b2) prohlásíme za spřízněné, pokud součet jejich norem nepřevýší danou celočíselnou hodnotu D. Normu libovolné matice Z definujeme jako horní celou část odmocniny ze součtu druhých mocnin všech prvků Z.
Připomínáme, že libovolný neorientovaný graf je souvislý právě tehdy, když mezi dvěma jeho libovolnými uzly u a v vede cesta. Graf je také souvislý právě tehdy, když při prohledávání do šířky nebo do hloubky, které zahájíme v libovolném uzlu grafu, navštívíme postupně všechny uzly grafu.
Každou matici množiny M(N, a1, a2, b1, b2) prohlásíme za uzel neorientovaného grafu G. Hrana mezi dvěma různými uzly u a v grafu G existuje právě tehdy, pokud matice odpovídající uzlům u a v jsou navzájem spřízněné.
Máme určit minimální možnou hodnotu D, pro níž graf G zkonstruovaný nad množinou M bude souvislý.
Vstup
Na vstupu jsou dva řádky. První řádek obsahuje čísla N, a1, a2, b1, b2 v tomto pořadí oddělená mezerou. Hodnota N leží v rozmezí 3..100, ostatní hodnoty leží v rozmezí −100..100. Platí a1 ≤ a2, b1 ≤ b2.Druhý řádek obsahuje dvě celá čísla D1 a D2 oddělená mezerou, 0 ≤ D1 ≤ D2 ≤ 106.
Výstup
Na výstupu je jediný řádek obsahující celé číslo D, pro které platí D1 ≤ D ≤ D2 a přitom D je minimální možná celočíselná hodnota, pro níž graf G zkonstruovaný nad množinou M je souvislý. Pokud žádné celé číslo D splňující uvedené podmínky neexistuje, vystoupí číslo −1.Příklad 1
Vstup:3 0 1 1 2 1 7Výstup:
6
Příklad 2
Vstup:3 -1 0 1 2 2 5Výstup:
-1
Příklad 3
Vstup:100 10 20 10 20 1000 5000Výstup:
2970
Veřejná data k úloze jsou k dispozici. Veřejná data jsou uložena také v odevzdávacím systému a při každém odevzdání/spuštění úlohy dostává řešitel kompletní výstup na stdout a stderr ze svého programu pro každý soubor veřejných dat.