#2650
Eroul nostru, Căldărușe, are un număr n de cărți pe care le are aranjate una peste cealaltă (sub forma unui stack). Cartea din vârf are valoarea \( {a}_{1} \), următoarea \( {a}_{2} \) și așa mai departe. Cartea de la bază are indicele n (\( {a}_{n} \)). Toate numerele sunt distincte. Căldărușe vrea să mute toate cărțile în ghiozdanul lui în exact n pași. În timpul pasului de ordin i, el vrea să mute cartea cu numărul \( {b}_{i} \) în ghiozdan. Dacă această carte se află în stack, el o ia atât pe ea, cât și toate cărțile situate deasupra acesteia și le pune în ghiozdan; în caz contrar, el nu va face nimic și va trece la următorul pas. Ajutați-l pe Căldărușe! Spuneți-i voi numărul de cărți pe care le va pune în ghiozdan în timpul fiecărui pas.
| Problema | books | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.7 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64089510 | Utilizator | |
| Fișier | books.cpp | Dimensiune | 906 B |
| Data încărcării | 16 Aprilie 2026, 12:49 | Scor/rezultat | Eroare de compilare |
books.cpp:5:18: error: ‘bool kill [1000001]’ redeclared as different kind of entity 5 | bool kill[1000001]; | ^ In file included from /usr/include/c++/13/csignal:42, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:116, from books.cpp:1: /usr/include/signal.h:112:12: note: previous declaration ‘int kill(__pid_t, int)’ 112 | extern int kill (__pid_t __pid, int __sig) __THROW; | ^~~~ books.cpp: In function ‘int main()’: books.cpp:22:23: warning: pointer to a function used in arithmetic [-Wpointer-arith] 22 | if(kill[bot[i]]==1) | ^ books.cpp:22:24: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] 22 | if(kill[bot[i]]==1) | ~~~~~~~~~~~~^~~ books.cpp:32:33: warning: pointer to a function used in arithmetic [-Wpointer-arith] 32 | kill[s.top()]=1; | ^ books.cpp:32:34: error: assignment of read-only location ‘*(kill + ((sizetype)s.std::stack<int>::top()))’ 32 | kill[s.top()]=1; | ~~~~~~~~~~~~~^~ books.cpp:40:33: warning: pointer to a function used in arithmetic [-Wpointer-arith] 40 | kill[s.top()]=1; | ^ books.cpp:40:34: error: assignment of read-only location ‘*(kill + ((sizetype)s.std::stack<int>::top()))’ 40 | kill[s.top()]=1; | ~~~~~~~~~~~~~^~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema books 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ă.