#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 | #37485557 | Utilizator | |
Fișier | the_grade.cpp | Dimensiune | 2.84 KB |
Data încărcării | 04 Septembrie 2022, 07:36 | 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.004 secunde | OK. | 3 | 3 | ||
6 | 0.244 secunde | OK. | 3 | 3 | ||
7 | 0.272 secunde | OK. | 3 | 3 | ||
8 | 0.252 secunde | OK. | 3 | 3 | ||
9 | 0.252 secunde | OK. | 3 | 3 | ||
10 | 0.008 secunde | OK. | 3 | 3 | ||
11 | 0.244 secunde | OK. | 3 | 3 | ||
12 | 0.264 secunde | OK. | 3 | 3 | ||
13 | 0.26 secunde | OK. | 3 | 3 | ||
14 | 0.008 secunde | OK. | 3 | 3 | ||
15 | 0.248 secunde | OK. | 3 | 3 | ||
16 | 0.248 secunde | OK. | 3 | 3 | ||
17 | 0.248 secunde | OK. | 3 | 3 | ||
18 | 0.316 secunde | OK. | 3 | 3 | ||
19 | 0.316 secunde | OK. | 3 | 3 | ||
20 | 0.312 secunde | OK. | 3 | 3 | ||
21 | 0.312 secunde | OK. | 4 | 4 | ||
22 | 0.308 secunde | OK. | 4 | 4 | ||
23 | 0.308 secunde | OK. | 4 | 4 | ||
24 | 0.344 secunde | OK. | 4 | 4 | ||
25 | 0.308 secunde | OK. | 4 | 4 | ||
26 | 0.32 secunde | OK. | 4 | 4 | ||
27 | 0.32 secunde | OK. | 4 | 4 | ||
28 | 0.32 secunde | OK. | 4 | 4 | ||
29 | 0.308 secunde | OK. | 4 | 4 | ||
30 | 0.328 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ă.