Cerința
La începutul anului școlar, un profesor de informatică a primit lista notelor celor N
elevi din clasa a IX-a cu care va lucra în laborator. Acestea sunt numere naturale mai mari sau egale cu 3
.
Pentru a învăța mai bine informatica, elevii vor fi împărțiți în grupe de studiu, astfel încât, pentru fiecare grupă, toate notele elevilor din grupă să fie divizibile cu cea mai mică notă a unui elev din acea grupă. Într-o grupă poate fi și un singur elev.
- o grupă poate conține elevi cu notele
5, 10
, deoarece5
este nota minimă din grupă, iar10
este divizibil cu5
; - o grupă NU poate conține elevi cu notele
3, 7
, deoarece3
este nota minimă din grupă, iar7
nu este divizibil cu3
.
Ajută-l pe profesor să împartă elevi în cât mai puține astfel de grupe.
Scrieți un program care citește numărul de elevi și notele acestora și determină numărul minim de grupe în care pot fi împărțiți elevii conform regulii precizate.
Date de intrare
Fișierul de intrare aranjare1.in
conține pe prima linie numărul N
de elevi.
Pe a doua linie se află două numere naturale nota[1]
și nota[2]
, reprezentând notele primilor doi elevi.
Următoarele note vor fi generate folosind formula: \( nota[i] = (17 * nota[i – 2] + 35 * nota[i – 1])\%666013 + 3 \)
Date de ieșire
Fișierul de ieșire aranjare1.out
va conține un număr natural, reprezentând numărul minim de grupe ce pot fi formate.
Restricții și precizări
1 ≤ N ≤ 2 000 000
3 ≤
nota[1]
,nota[2]
≤ 500 000
- pentru teste în valoare de 40 puncte,
n ≤ 1 000
- pentru teste în valoare de 80 puncte,
n ≤ 100 000
Exemplu:
aranjare1.in
6 3 7
aranjare1.out
4
Explicație
Notele elevilor sunt 3, 7, 299, 10587, 375631, 6807
.
Acestea se pot împărți în 4
grupe:
[3, 10587, 6807]
[7]
[299]
[375631]
Exemplu:
aranjare1.in
11 3 10
aranjare1.out
8
Explicație
Notele elevilor sunt 3, 10, 404, 14313, 507826, 34883, 529768, 486530, 60102, 384388, 489044
.
Acestea se pot împărți în 8
grupe:
[3, 14313, 60102]
[10, 486530]
[404]
[34883]
[384388]
[489044]
[507826]
[529768]