#4983
În clasa lui Ionuț sunt N elevi numerotați cu numere naturale de la 1 la N așezați în ordinea din catalog. Fiecare elev i (1 ≤ i ≤ N ) are ceea ce se numește un coeficient de popularitate \(A_i\) , un număr natural nenul. Fiecare elev din clasă are un grup de simpatizanți. Grupul de simpatizanți ai elevului i, notat cu \(G_i\) este reprezentat de cea mai lungă secvență de elevi din șirul dat în catalog, care îl conține pe elevul i, astfel încât coeficientul de popularitate al fiecărui elev j din secvență, \(A_j\) , să fie divizor al lui \(A_i\) . Lungimea secvenței, deci numărul elevilor din grupul de simpatizanți ai lui i, se notează cu \(|G_𝑖|\). Evident, elevul i face parte din propriul său grup de simpatizanți. Dacă elevul i face parte din grupul de simpatizanți ai elevului j, atunci nu este neapărat necesar ca și j să facă parte din grupul de simpatizanți ai elevului i.
După ore, unii elevi își invită la cofetărie grupul de simpatizanți, pentru câte o înghețată. Pentru un grup de simpatizanți \(G_i\) , elevul i merge și îi cere vânzătoarei exact \(|G_i|\) înghețate, dar vânzătoarea are o fire năstrușnică și îi spune că este disponibil doar un anumit număr de arome k, mereu cel mult egal cu numărul de înghețate cerute (\(1 ≤ 𝑘 ≤ |G_𝑖|\)). Elevii, creativi, calculează numărul de moduri în care se poate cumpăra înghețată pentru grup, astfel încât să achiziționeze fiecare sortiment cel puțin o dată; pentru grupul \(G_i\) , acest număr se notează cu \(v_i(k)\).
Q întrebări de tipul: (i, st, dr) (cu \(1 ≤ i ≤ N\) și \(1 ≤ st ≤ dr ≤ |G_i|\)); pentru fiecare determinați valoarea expresiei: \(v_i(st) + v_i(st + 1) + \cdots + v_i(dr)\); cum valoarea poate fi foarte mare, luați în considerare restul împărțirii ei la \(10^9 + 7\).| Problema | Inghetata | Operații I/O |
inghetata.in/inghetata.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64230753 | Utilizator | |
| Fișier | inghetata.cpp | Dimensiune | 1.96 KB |
| Data încărcării | 24 Aprilie 2026, 09:42 | Scor/rezultat | 100 puncte |
inghetata.cpp: In function ‘int main()’: inghetata.cpp:26:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 26 | freopen("inghetata.in","r",stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ inghetata.cpp:27:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 27 | freopen("inghetata.out","w",stdout); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | OK. | 12 | 12 | ||
| 2 | 0.001 secunde | OK. | 12 | 12 | ||
| 3 | 0.001 secunde | OK. | 12 | 12 | ||
| 4 | 0.001 secunde | OK. | 12 | 12 | ||
| 5 | 0.001 secunde | OK. | 12 | 12 | ||
| 6 | 0.012 secunde | OK. | 2 | 2 | ||
| 7 | 0.006 secunde | OK. | 2 | 2 | ||
| 8 | 0.012 secunde | OK. | 2 | 2 | ||
| 9 | 0.006 secunde | OK. | 2 | 2 | ||
| 10 | 0.102 secunde | OK. | 2 | 2 | ||
| 11 | 0.114 secunde | OK. | 1 | 1 | ||
| 12 | 0.091 secunde | OK. | 3 | 3 | ||
| 13 | 0.096 secunde | OK. | 3 | 3 | ||
| 14 | 0.094 secunde | OK. | 3 | 3 | ||
| 15 | 0.07 secunde | OK. | 2 | 2 | ||
| 16 | 0.065 secunde | OK. | 1 | 1 | ||
| 17 | 0.077 secunde | OK. | 2 | 2 | ||
| 18 | 0.077 secunde | OK. | 2 | 2 | ||
| 19 | 0.091 secunde | OK. | 3 | 3 | ||
| 20 | 0.089 secunde | OK. | 3 | 3 | ||
| 22 | 0.086 secunde | OK. | 2 | 2 | ||
| 23 | 0.089 secunde | OK. | 5 | 5 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Inghetata face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.