Fișierul intrare/ieșire | cod.in, cod.out | Sursă | ONI 2016 clasa a 6-a |
---|---|---|---|
Autor | autor necunoscut | Adăugată de |
|
Timp de execuție pe test | 1.3 sec | Limită de memorie | 4096 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Cod (clasa a 6-a)
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ță
Scrieți un program care citește șirul celor N numere și determină:
- Câte numere din șir nu se vor folosi în construirea parolelor celor doi copii.
- Parola construită de Ionel.
- Parola construită de Georgel.
Date de intrare
Fișierul de intrare cod.in conține pe prima linie un număr natural P care reprezintă cerinta și poate fi 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
În fișierul de ieșire cod.out se află rezultatul în funcție de cerință.
Dacă valoarea lui P este 1, se va rezolva numai punctul 1) 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 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 cod.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 cod.out va conține pe prima linie un număr natural reprezentând parola construită de Georgel.
Restricții
- 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
Exemplu
cod.in | cod.out | Explicație |
---|---|---|
1 6 10#20#12#34#15#23 |
1 |
Doar numărul 23 nu este divizibil cu niciun număr din mulțimea {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15} |
2 5 16#61#12#385#31 |
9 |
Pentru parola lui Ionel trebuie sa verificăm divizibilitatea cu numerele 2,3,4,5,6,7,8,9. Două numere sunt divizibile cu 2, un număr este divizibil cu 3, două numere sunt divizibile cu 4, un număr este divizibil cu 5, un număr este divizibil cu 6, un număr este divizibil 7, un număr este divizibil cu 8. Parola este 2 + 1 + 2 + 1 + 1 + 1 + 1 = 9 |
3 5 30#1100#11#85#121 |
6 |
Pentru parola lui Georgel trebuie sa verificăm divizibilitatea cu numerele 10, 11, 12, 13, 14, 15. Două numere sunt divizibile cu 10, trei numere sunt divizibile cu 11 și un număr este divizibil cu 15. Parola este 2 + 3 + 1 = 6 |