Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2025

2020-2022 2023 2024

Problem description


Matryce
(matryce)
Memory limit: 32 MB
Time limit: 4.00 s

Jasio tym razem zainteresował się grafiką komputerową. Zaczyna od bardzo podstawowego poziomu – generuje tylko czarno-białe, prostokątne rysunki (matryce) wymiaru H × W pikseli.

Kiedy stworzył bardzo dużo rysunków, zauważył, że jego program graficzny ma funkcję kombinowania dwóch (i więcej) rysunków. Kombinowanie dwóch rysunków polega na tym, że w obrazku wynikowym zapalone są te piksele, które są zapalone w dokładnie jednym z dwóch wejściowych rysunków (tj. jeśli w obu obrazkach jakiś piksel jest zapalony to w obrazku wynikowym będzie zgaszony). Kombinowanie więcej niż dwóch rysunków działa analogicznie – program kombinuje dwa pierwsze rysunki, następnie wynik kombinacji z trzecim, kolejny wynik z czwartym itd.

Jasio zastanawia się, czy nie napracował się niepotrzebnie – być może niektóre z jego rysunków mogłyby zostać uzyskane z innych, które wcześniej stworzył za pomocą funkcji kombinowania. Kombinowanie bowiem jest bardzo szybkie, zajmuje pomijalny czas w porównaniu z czasem rysowania obrazków. Zakładamy także, że narysowanie pustego obrazka (złożonego tylko z białych pikseli) nie kosztuje czasu (program startuje z takim obrazkiem).

Napisz program, który: wczyta opis rysunków (matryc) które stworzył Jasio, wyznaczy ile czasu mógł zaoszczędzić Jasio, gdyby niektóre spośród swoich rysunków uzyskał za pomocą kombinowania (a nie rysowania ich od nowa) i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym wierszu wejścia znajdują się trzy liczby naturalne: N, H, W, pooddzielane pojedynczymi odstępami i określające kolejno: liczbę obrazków, wysokość i szerokość każdego z nich.

W kolejnych wierszach znajdują się opisy kolejnych obrazków, po H + 1 wierszy na jeden obrazek. Pierwszy wiersz opisu obrazka zawiera jedną liczbę całkowitą Ti – czas w minutach niezbędny do narysowania tego obrazka przez Jasia. Kolejne H wierszy opisu obrazka zawiera po W znaków – jest to opis obrazka, który namalował Jasio: 0 oznacza biały piksel, zaś 1 – czarny.

Wyjście

W pierwszym (i jedynym) wierszu wyjścia powinna się znaleźć jedna liczba całkowita – maksymalny możliwy do oszczędzenia czas namalowania obrazków w minutach.

Ograniczenia

1 ≤ N ≤ 10 000, 1 ≤ H, W ≤ 50, 0 ≤ Ti ≤ 1 000 000.

Przykład

Input Output Explanation
4 2 2
3
01
10
4
11
11
7
10
10
3
11
00
7

Trzeci obrazek można uzyskać za pomocą kombinowania pierwszego i czwartego.