Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | basequery.in, basequery.out | Sursă | Infoarena Monthly 2014, Runda 3 |
Autor | Mihai-Alexandru Dusmanu | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Basequery
Se da un numar natural N si un sir de N numere naturale: A 1, A 2, ..., A N.
Se defineste C(X, P, B) = numarul de aparitii al lui P ca subsecventa in reprezentarea in baza B a lui X.
Sa se raspunda la Q intrebari de genul:
- Fiind date o baza B si o secventa P, reprezentand un numar in baza b, sa se calculeze si sa se afiseze suma de C(A i, P, B) * A i.
Date de intrare
Fişierul de intrare basequery.in contine pe prima linie numarul natural N. Pe cea de-a doua linie se afla N numere naturale, A 1, A 2, ..., A N, elementele sirului. Pe cea de-a treia linie se afla numarul Q. Pe fiecare dintre urmatoarele Q linii se afla doua numere naturale, P si B, avand semnificatia din enunt.
Date de ieşire
Fişierul de ieşire basequery.out va contine Q linii. Pe fiecare linie i se va gasi un singur numar natural, reprezentand reprezentand raspunsul pentru intrebarea i.
Restricţii
- 1 ≤ N ≤ 100.000
- 1 ≤ Q ≤ 100.000
- 1 ≤ A i ≤ 2.000.000.000, unde 1 ≤ i ≤ N
- 2 ≤ B ≤ 16
- 1 ≤ P (10) ≤ 1024, unde P (10) este valoarea reprezentata de secventa P in baza B, transformata in baza 10.
Exemplu
basequery.in | basequery.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...