Polish version    English version  
  XVIII OI 2010/2011


 Aktualności
 O olimpiadzie
 Komitety
 XVIII OI 2010/2011
Terminarz
Zadania
II Etap
Przepisy
Wyniki I etapu
Wyniki II etapu
Dla zawodników
Przydatne zasoby
 Historia OI
 Książeczki OI
 Reprezentacja
 Obozy Olimpiady
 Galeria zdjęć
 Ciekawe odsyłacze
 OIG LiveCD
 IV OIG 2009/2010
 Historia OIG
 SIO
 MAIN
X Olimpiada Informatyczna 2002/2003

Zadanie: sum
Autor: Krzysztof Onak
Sumy

Zawody III stopnia, dzień pierwszy  
Plik źródłowy: sum.xxx (xxx=pas,c,cpp)

Alternatywne formaty: PostScript | PDF

Mamy dany zbiór dodatnich liczb całkowitych A. Rozważmy teraz zbiór nieujemnych liczb całkowitych A' taki, że liczba x należy do A' wtedy i tylko wtedy, gdy x jest sumą pewnych elementów z A (elementy mogą się powtarzać). Na przykład, jeśli A = {2,5,7}, to do zbioru A' należą np. liczby 0 (suma 0 elementów), 2, 4 (2 + 2) i 12 (5 + 7 lub 7 + 5 lub 2 + 2 + 2 + 2 + 2 + 2), a nie należą liczby 1 i 3.

Zadania

Napisz program, który:

  • wczyta ze standardowego wejścia opis zbioru A oraz ciąg liczb bi,
  • dla każdej liczby bi stwierdzi, czy należy ona do zbioru A',
  • wypisze wynik na standardowe wyjście.

Wejście

W pierwszym wierszu znajduje się jedna liczba całkowita n --- liczba elementów w zbiorze A, 1 <= n <= 5000. Kolejne n wierszy zawiera elementy zbioru A, po jednym w wierszu. W wierszu i + 1 zapisana jest jedna dodatnia liczba całkowita ai, 1 <= ai <= 50000. A = {a1, a2, ..., an}, a1 < a2 < ... < an.

W wierszu o numerze n + 2 znajduje się jedna liczba całkowita k, 1 <= k <= 10000. Kolejne k wierszy zawiera po jednej liczbie całkowitej z zakresu od 0 do 1000000000, są to odpowiednio liczby b1, b2, ..., bk.

Wyjście

Wyjście powinno składać się z k wierszy. Wiersz o numerze i powinien zawierać słowo TAK, jeśli bi należy do A', a słowo NIE w przeciwnym przypadku.

Przykład

Dla danych wejściowych:

3
2
5
7
6
0
1
4
12
3
2

poprawnym wynikiem jest:

TAK
NIE
TAK
TAK
NIE
TAK



Wersja do druku