1697 - Cod 1

De la Universitas MediaWiki

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 N 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}. 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}. 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}.

Cerința

Scrieţi un program care citește șirul celor N 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 cod1.in conține pe prima linie un număr natural P. Pentru toate testele de intrare, numărul P poate avea doar valoarea 1, 2 sau 3. Pe a doua linie numărul natural N, iar pe a treia linie, N numere naturale separate prin câte un caracter #.

Date de ieșire

Dacă valoarea lui P este 1, se va rezolva numai punctul 1) din cerințe. În acest caz, fişierul de ieşire cod1.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 0 dacă nu există astfel de numere.

Dacă valoarea lui P este 2, se va rezolva numai punctul 2) din cerințe. În acest caz, fişierul de ieşire cod1.out va conţine pe prima linie un număr natural reprezentând parola construită de Ionel.

Dacă valoarea lui P este 3, se va rezolva numai punctul 3) din cerințe. În acest caz, fişierul de ieşire cod1.out va conţine pe prima linie un număr natural reprezentând parola construită de Georgel.

Restricții și precizări

  • 0 < N ≤ 100 000
  • 2 ≤ numărul de cifre ale unui număr ≤ 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% din teste conțin doar numere formate din cel mult 9 cifre
  • Pentru rezolvarea corectă a cerinţei 1 se obțin 20 de puncte, pentru rezolvarea corectă a cerinţei 2 se obțin 40 de puncte iar pentru rezolvarea corectă a cerinţei 3 se obțin 40 de puncte

Exemplul 1

cod1.in

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

cod1.out

1

Încărcare soluție

Lipește codul aici