#1598
Se consideră C o coadă de numere naturale, iniţial vidă. Se definesc 2 tipuri de operaţii.
Operaţia 1 : push X, adaugă elementul X în coadă. Dacă X există deja în coadă, se scot toate elementele din coadă, pana la întâlnirea lui, inclusiv X.
Exemplu: C: 2 4 5 1 6 Push 5 C: 1 6 5 ( s-au scos 2, 4, 5).
Operaţia 2: query X, cere afişarea poziţiei elementului X în coada C. Dacă elementul nu există în coadă, se afişează -1.
Exemplu: C: 2 5 1 3 7 Query 1 Răspuns: 3
| Problema | Coada1 | Operații I/O |
coada1.in/coada1.out
|
|---|---|---|---|
| Limita timp | 0.05 secunde | Limita memorie |
Total: 16 MB
/
Stivă 2 MB
|
| Id soluție | #64464488 | Utilizator | |
| Fișier | coada1.cpp | Dimensiune | 977 B |
| Data încărcării | 08 Mai 2026, 11:06 | Scor/rezultat | Eroare de compilare |
coada1.cpp:1:20: warning: extra tokens at end of #include directive 1 | #include <iostream>#include <deque>#include <string>using namespace std;int main() { int M; cin >> M; deque<int> q; for (int i = 0; i < M; i++) { string op; int x; cin >> op >> x; if (op == "push") { bool found = false; for (int v : q) { if (v == x) { found = true; break; } } if (found) { while (!q.empty() && q.front() != x) { q.pop_front(); } if (!q.empty()) q.pop_front(); // scoatem si pe X } q.push_back(x); } else { // query int pos = 1; int ans = -1; for (int v : q) { if (v == x) { ans = pos; break; } pos++; } cout << ans << '\n'; } } return 0;} | ^ /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crt1.o: in function \`_start': (.text+0x1b): undefined reference to \`main' collect2: error: ld returned 1 exit status
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Coada1 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ă.