Szyfr
Limit pamięci: 32 MB
Uwaga: treść zadania została nieznacznie zmodyfikowana w stosunku do oryginalnej wersji z zawodów,
żeby umożliwić wysyłanie programów zamiast plików wyjściowych.
Dany jest ciąg dodatnich liczb całkowitych
(dla
). Ciąg ten jest używany do szyfrowania
-bitowych
wiadomości. Jeśli mamy wiadomość, której kolejne bity tworzą ciąg
(
ze zbioru
), to po zaszyfrowaniu ma ona postać liczby:
![](images/OI9/szy-tex.7.png)
Zadanie
Masz dane zaszyfrowane wiadomości oraz ciągi liczb
, których użyto do ich zaszyfrowania.
Twoje zadanie polega na odkodowaniu zaszyfrowanych wiadomości.
Wejście
W pierwszym wierszu standardowego wejścia znajduje się jedna liczba całkowita
![](images/OI9/szy-tex.9.png)
,
![](images/OI9/szy-tex.10.png)
. W kolejnych
![](images/OI9/szy-tex.11.png)
wierszach zapisany jest ciąg liczb
![](images/OI9/szy-tex.12.png)
:
w
![](images/OI9/szy-tex.13.png)
-szym wierszu zapisana jest jedna dodatnia liczba całkowita
![](images/OI9/szy-tex.14.png)
.
Suma liczb
![](images/OI9/szy-tex.15.png)
nie przekracza
![](images/OI9/szy-tex.16.png)
.
W
![](images/OI9/szy-tex.17.png)
-im wierszu zapisana jest jedna liczba całkowita
![](images/OI9/szy-tex.18.png)
- zaszyfrowana wiadomość,
![](images/OI9/szy-tex.19.png)
.
Wyjście
W pierwszym wierszu standardowego wyjścia należy wypisać kolejne liczby
, bez
żadnych odstępów między nimi. Dane testowe zostały dobrane tak, że zaszyfrowane wiadomości są określone jednoznacznie.
Przykład
Dla danych wejściowych:
24
19226985
123697
67356296
19721773
1113273
69335448
23680077
9029881
85168664
93676782
5253843
77616588
78572630
13375812
17199980
101508862
59248276
3505733
35790095
62028546
85726819
56462819
103373994
91757169
667509506
poprawną odpowiedzią jest:
110001000101101100010101
Autor zadania: Wojciech Guzicki.