cod

Time limit: 0.2s Memory limit: 4MB Input: cod.in Output: cod.out

Ionel și Georgel sunt colegi de clasă și doresc să facă schimb de fișiere prin email. Fiecare dintre ei își arhivează fișierele cu câte o parolă. Fiecare copil își construiește parola pe baza unui șir format din NN numere naturale.
Numerele din șir care se folosesc efectiv pentru construirea parolelor sunt doar cele divizibile cu numerele din mulțimea {2,3,4,5,6,7,8,9,10,11,12,13,14,15}\{2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\}. Copiii numără câte din valorile din șir sunt divizibile cu fiecare din aceste numere.
Parola folosită de Ionel se obține prin însumarea numărului de valori din șir care sunt divizibile cu numerele din mulțimea {2,3,4,5,6,7,8,9}\{2, 3, 4, 5, 6, 7, 8, 9\}. Parola folosită de Georgel se obține prin însumarea numărului de valori din șir care sunt divizibile cu numerele din mulțimea {10,11,12,13,14,15}\{10, 11, 12, 13, 14, 15\}.

Cerinţă

Scrieţi un program care citește șirul celor NN numere și determină:

  1. câte numere din șir nu se vor folosi în construirea parolelor celor doi copii;
  2. parola construită de Ionel;
  3. parola construită de Georgel.

Date de intrare

Fișierul de intrare cod.in conţine pe prima linie un număr natural PP. Pentru toate testele de intrare, numărul PP poate avea doar valoarea 11, 22 sau 33. Pe a doua linie numărul natural NN, iar pe a treia linie, NN numere naturale separate prin câte un caracter #.

Date de ieşire

Dacă valoarea lui PP este 11, se va rezolva numai punctul 11 din cerințe. În acest caz, fişierul de ieşire cod.out va conţine pe prima linie un număr natural nenul reprezentând câte numere din șir nu s-au folosit la construirea parolelor sau 00 dacă nu există astfel de numere.
Dacă valoarea lui PP este 22, se va rezolva numai punctul 22 din cerințe. În acest caz, fişierul de ieşire cod.out va conţine pe prima linie un număr natural reprezentând parola construită de Ionel.
Dacă valoarea lui PP este 33, se va rezolva numai punctul 33 din cerințe. În acest caz, fişierul de ieşire cod.out va conţine pe prima linie un număr natural reprezentând parola construită de Georgel.

Restricţii şi precizări

  • 0<N100 0000 \lt N \leq 100 \ 000
  • 22 \leq numărul de cifre ale unui număr 100\leq 100
  • Se garantează că toate parolele pe care copiii le vor obține sunt nenule
  • În fișierul de intrare ultimul număr nu este urmat de caracterul #
  • 16%16\% din teste conțin doar numere formate din cel mult 99 cifre
  • Pentru rezolvarea corectă a cerinţei 11 se obțin 2020 de puncte, pentru rezolvarea corectă a cerinţei 22 se obțin 4040 de puncte iar pentru rezolvarea corectă a cerinţei 33 se obțin 4040 de puncte

Exemplul 1

cod.in

1
6
10#20#12#34#15#23

cod.out

1

Explicaţie

Doar numărul 2323 nu este divizibil cu niciun număr din mulțimea {2,3,...,15}\{2, 3, ..., 15\}

Exemplul 2

cod.in

2
5
16#61#12#385#31

cod.out

9

Explicaţie

Pentru parola lui Ionel trebuie sa verificăm divizibilitatea cu numerele 2,3,4,5,6,7,8,92, 3, 4, 5, 6, 7, 8, 9. Două numere sunt divizibile cu 22 (1616 și 1212), un număr este divizibil cu 33 (1212), două numere sunt divizibile cu 44 (1616 și 1212), un număr este divizibil cu 55 (385385), un număr este divizibil cu 66 (1212), un număr este divizibil 77 (385385), un număr este divizibil cu 88 (1616). Parola este 2+1+2+1+1+1+1=92 + 1 + 2 + 1 + 1 + 1 + 1 = 9

Exemplul 3

cod.in

3
5
30#1100#11#85#121

cod.out

6

Explicaţie

Pentru parola lui Georgel trebuie sa verificăm divizibilitatea cu numerele 10,11,12,13,14,1510, 11, 12, 13, 14, 15.
Două numere sunt divizibile cu 1010 (3030 și 11001100), trei numere sunt divizibile cu 1111 (11001100, 1111 și 121121), și un număr este divizibil cu 1515 (3030). Parola este 2+3+1=62 + 3 + 1 = 6

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