Se dau numerele P, m, n, k, și două șiruri: b1,b2,…bm și a0,a1,…an−1 de numere naturale. Se formează șirul v0,v1,…,vn−1 parcurgând elementele lui a din k în k(modn), începând de la poziția 0.
Fiecare număr din v se înlocuiește cu cea mai apropiată putere cu exponent natural a unui element din b. Dacă un număr se află la aceeași distanță de două puteri, se alege valoarea mai mică. De exemplu dacă b=[2,3], puterile elementelor din șirul b sunt: 1,2,4,8,16,…,1,3,9,27,81,….
Cerință
- Dacă P=1, aflați suma valorilor din șirul v după ce s-au făcut înlocuirile.
- Dacă P=2, când numărul este mai mic ca puterea aleasă, se va înlocui cu opusul puterii alese (De exemplu, în loc de 5 ar fi -5). Apoi se calculeaza S, parcurgând elementele lui v în ordine (0,1,2,…n−1) și aplicându-se formula
S=((S*k+v[i])%n+n)%n
. Initial, S=0.
Date de intrare
Pe prima linie a fișierului abmnk.in
se află P. Pe a doua linie se află numerele m, n și k, în această ordine, separate prin câte un spațiu. Pe a treia linie se află șirul b1,b2,…bm de numere naturale mai mari sau egale cu 2, separate prin câte un spațiu. Pe a patra linie se află șirul a0,a1,…an−1 de numere naturale separate prin câte un spațiu.
Date de ieșire
Pe prima linie a fișierului de ieșire abmnk.out
se va găsi un singur număr întreg, răspunsul cerinței P.
Restricții și precizări
- Se garantează cmmdc (n,k)=1.
- 1≤m≤1 000
- 1≤k<n≤1 000 000
- Numerele din fișierul de intrare sunt mai mici sau egale cu 109
Subtaskuri
# |
Punctaj |
Restricții |
1 |
11 |
P=1,1≤k<n≤1 000,1≤m≤100 |
2 |
18 |
P=1,1≤k<n≤1 000 000,1≤m≤1 000 |
3 |
12 |
P=2,1≤k<n≤10 000,1≤m≤9 |
4 |
7 |
P=2,1≤k<n≤100 000,1≤m≤9 |
5 |
52 |
P=2,1≤k<n≤1 000 000,1≤m≤9 |
Exemplul 1
abmnk.in
1
5 15 4
2 32 10000 17 3
5 16 289 57 32 27 70 1 10000000 100000000 4 90 81 1024 531441
abmnk.out
108921736
Explicație
Parcurgem din 4 in 4 și obținem V={5 , 32 , 10000000 , 81 , 16 , 27 , 100000000 , 1024 , 289 , 70 , 4 , 531441, 57 , 1 , 90}
Exemplul 2
abmnk.in
2
5 15 4
2 32 10000 17 3
5 16 289 57 32 27 70 1 10000000 100000000 4 90 81 1024 531441
abmnk.out
8
Explicație
La final, V={4 , 32 , 8388608 , 81 , 16 , 27 , 100000000 , 1024 , 289 , 64 , 4 , 531441 , -64 , 1 , 81}