#3229
The Grade
Aleku Turcul este la ora de matematica. În timp ce el încearcă să-și dea seama dacă 1+1=2
, profesorul scrie pe tablă o problemă ceva mai complicată. Se dau Q queryuri și o listă S
cu P
elemente egale cu 0
. Notăm cu A
un șir, care inițial este vid. Queryurile pot fi de forma:
- 0 x
(inserează valoarea x
în A
)
- 1 x
(șterge valoarea x
din A
; se garantează că există cel puțin o valoare de x
în A
)
Se garantează că A
nu va fi niciodată vid după vreun query. După fiecare query profesorul îi pune lui Aleku următoarea întrebare: oare pot așeza în lista S
toate numerele din A
(nu neapărat în ordinea în care se află în A
) astfel încât:
A
se vor așeza în S
pe poziții distincte, restul pozițiilor din S
fiind ocupate de elemente cu valoarea 0
S[i]
un element nenul din S
și S[j]
cel mai apropiat element nenul care se află în stânga lui S[i]
în S
. Atunci următoarea condiție trebuie respectată: i - j ≥ S[i]
f
poziția celui mai din stânga element nenul din S
. Atunci f ≥ S[f]
.Dacă răspunsul la întrebarea profesorului este da, atunci să se spună și câte configurații diferite se pot obține. Deoarece răspunsul la întrebare poate fi foarte mare, acesta se va afișa modulo 1.000.000.007
. Dacă răspunsul este nu, se va afișa -1
.
Ajutați-l pe Aleku sa răspundă corect la întrebările profesorului pentru ca sa obțină nota 10. Media lui depinde de aceasta!
infO(1) cup 2018, Runda națională
Problema | The Grade | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 256 MB
/
Stivă 8 MB
|
Id soluție | #41718751 | Utilizator | |
Fișier | the_grade.cpp | Dimensiune | 2.84 KB |
Data încărcării | 01 Februarie 2023, 22:31 | Scor / rezultat | 100 puncte |
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 3 | 3 | ||
2 | 0 secunde | OK. | 3 | 3 | ||
3 | 0 secunde | OK. | 3 | 3 | ||
4 | 0 secunde | OK. | 3 | 3 | ||
5 | 0.008 secunde | OK. | 3 | 3 | ||
6 | 0.348 secunde | OK. | 3 | 3 | ||
7 | 0.352 secunde | OK. | 3 | 3 | ||
8 | 0.336 secunde | OK. | 3 | 3 | ||
9 | 0.348 secunde | OK. | 3 | 3 | ||
10 | 0.008 secunde | OK. | 3 | 3 | ||
11 | 0.36 secunde | OK. | 3 | 3 | ||
12 | 0.36 secunde | OK. | 3 | 3 | ||
13 | 0.36 secunde | OK. | 3 | 3 | ||
14 | 0.008 secunde | OK. | 3 | 3 | ||
15 | 0.36 secunde | OK. | 3 | 3 | ||
16 | 0.352 secunde | OK. | 3 | 3 | ||
17 | 0.352 secunde | OK. | 3 | 3 | ||
18 | 0.416 secunde | OK. | 3 | 3 | ||
19 | 0.416 secunde | OK. | 3 | 3 | ||
20 | 0.416 secunde | OK. | 3 | 3 | ||
21 | 0.416 secunde | OK. | 4 | 4 | ||
22 | 0.412 secunde | OK. | 4 | 4 | ||
23 | 0.412 secunde | OK. | 4 | 4 | ||
24 | 0.424 secunde | OK. | 4 | 4 | ||
25 | 0.412 secunde | OK. | 4 | 4 | ||
26 | 0.412 secunde | OK. | 4 | 4 | ||
27 | 0.416 secunde | OK. | 4 | 4 | ||
28 | 0.412 secunde | OK. | 4 | 4 | ||
29 | 0.416 secunde | OK. | 4 | 4 | ||
30 | 0.416 secunde | OK. | 4 | 4 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema The Grade 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ă.