Coșulețe

Time limit: 0.3s Memory limit: 64MB Input: cosulete.in Output: cosulete.out

Șeful Șefilor a venit în vizită în Iași și, după ce a văzut tot ce se putea vedea în oraș, a decis, în căutarea vestitelor crame moldovenești, să meargă la granița cu Republica Moldova pentru a le vizita pe acestea. Ajuns în vamă, șeful este anunțat de către polițiști că, drept urmare a noilor legi puse recent în vigoare, trebuie să joace un meci de "Romanian Trick" cu aceștia, câștigul asigurându-i traversarea Prutului.
Un meci de "Romanian Trick" se desfășoară pe parcursul a QQ runde. Inițial, în fața șefului îi sunt aduse NN bile, fiecare numerotată cu un număr natural AiA_i, pentru 1iN1 \le i \le N. Inițial, toate bilele sunt puse într-un singur coșuleț. Apoi, în fiecare dintre cele QQ runde, are loc următorul proces:

  1. Polițiștii discută între ei și se decid asupra unui număr natural XX, despre care îi spun și șefului.
  2. Șeful trebuie acum ca, individual, pentru fiecare coșuleț, să îl separe în alte doua coșulețe: unul în care să pună bilele numerotate cu valori ce sunt divizibile cu XX, și unul în care să pună bilele numerotate cu valori nedivizibile cu XX. Cu alte cuvinte, ca urmare a acestei operații, numărul de coșulețe de pe masă se dubleaza˘\textbf{dublează}, fiecare coșuleț fiind astfel separat în două coșulețe.
  3. Șeful trebuie acum să arunce de pe masă (la coșul de gunoi, nu în Prut, pentru că nu este bine să poluăm râurile!) coșulețele ce, în urma celei de a doua operații, ajung să conțină un număr nul de bile. Cu alte cuvinte, ne dăm seama că în urma primei operații, șeful va rămâne cu niște coșulețe ce vor fi goale (coșulețul din care s-au separat bilele ori nu avea valori divizibile cu XX, ori nu avea valori nedivizibile decât XX). Șeful trebuie să arunce aceste coșulețe. Coșulețele aruncate pot fi ignorate pentru următoarele runde.
  4. Polițiștii îi cer șefului, în urma fiecărei astfel de runde, să raporteze câte coșulețe a aruncat în cadrul rundei respective.

Cerință

Cum șeful nu prea le are cu jocurile (dar este totuși un individ influent și este dispus să vă ofere puncte ce să vă ajute în cadrul acestui concurs), vă roagă să-l ajutați să câștige meciul de "Romanian Trick".

Date de intrare

Pe prima linie a fișierului de intrare cosulete.in se găsesc două numere naturale, NN și QQ.
Pe a doua linie a fișierului de intrare se găsesc NN numere naturale, reprezentând valorile numerotate pe bilele ce se află inițial într-un singur coșuleț (elementele șirului AA).
Pe urmatoarele QQ linii se va găsi câte un număr natural XX, ce reprezintă numărul ales de polițiști în cadrul rundei respective. (Pe prima linie dintre acestea QQ se va găsi numărul ales în cadrul primei runde, pe a doua linie din cele QQ se va afla numărul ales pentru a doua rundă, etc.)

Date de ieșire

În fișierul de ieșire cosulete.out se vor găsi QQ linii, pe a ii-a linie fiind scris un numărul natural ce reprezintă numărul de coșulețe aruncate în cadrul rundei respective. (Pe prima linie, se va găsi numărul de coșulețe aruncate în cadrul primei runde, pe a doua linie, se va afla numărul de coșulețe aruncate în a doua rundă, etc.)

Restricții și precizări

  • 1N,Q1 0001 \leq N, Q \leq 1 \ 000;
  • 1Ai1 000 000 0001 \leq A_i \leq 1 \ 000 \ 000 \ 000;
  • 1X1 000 000 0001 \leq X \leq 1 \ 000 \ 000 \ 000, pentru orice XX ce reprezintă numărul ales de polițiști în cadrul unei runde.
# Punctaj Restricții
0 0 Exemplu
1 10 X=1X = 1, adică în fiecare rundă polițiștii aleg numărul 11.
2 10 N2N \le 2
3 80 Fără restricții suplimentare

Exemplu

cosulete.in

7 3
7 6 3 5 2 10 20
5
3
1

cosulete.out

0
1
3

Explicație

Inițial, toate bilele sunt într-un singur coșuleț.
În prima rundă, polițiștii aleg numărul 55. Numerele divizibile cu 55 sunt 5,10,205, 10, 20. Astfel, se obține, înainte de aruncarea coșulețeor goale, următoarea configurație:

Observăm că, după prima rundă, nu se aruncă niciun coș, întrucât coșul de la început se separă în două coșulețe mai mici, iar în fiecare din acestea se află bile. (Niciunul nu este gol.) Deci, se afișează 00.

În a doua rundă, polițiștii aleg numărul 33. În primul coș, nu avem valori divizibile cu 33. În al doilea coș, valorile divizibile cu 33 sunt 33 și 66. Astfel, se obține următoarea configurație:

După a doua rundă, rămâne așadar un coș gol, ce se aruncă înaintea începerii rundei următoare. Astfel, vom afișa 11, întrucât avem un coș gol pe care îl vom și arunca.

În a treia rundă, polițiștii aleg numărul 11. Cum toate numerele din fiecare coșuleț sunt divizibile cu 11, se obține următoarea configurație:

Așadar, după a treia rundă, apar trei coșuri goale pe care le vom arunca. Astfel, vom afișa valoarea 33.

Log in or sign up to be able to send submissions!