fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int MAX_SIZE = 10000;
  5.  
  6. int main() {
  7. int n, m, v[MAX_SIZE], k, x;
  8. cin >> n;
  9.  
  10. // Citim elementele șirului
  11. for (int i = 0; i < n; ++i) {
  12. cin >> v[i];
  13. }
  14.  
  15. int size = n; // Folosim size pentru a urmări numărul de elemente
  16. cin >> m; // Citim numărul de operații
  17.  
  18. while (m--) {
  19. cin >> k; // Citim operația
  20. if (k == 1) {
  21. cin >> x; // Citim valoarea de adăugat
  22. if (size < MAX_SIZE) { // Verificăm să nu depășim dimensiunea maximă
  23. v[size] = x; // Adăugăm valoarea
  24. ++size; // Incrementăm dimensiunea stivei
  25. }
  26. } else if (k == 2) {
  27. if (size > 0) { // Verificăm că stiva nu este goală
  28. --size; // Eliminăm ultimul element
  29. }
  30. }
  31. }
  32.  
  33. // Afișăm dimensiunea noului șir
  34. cout << size << "\n";
  35. // Afișăm elementele stivei
  36. for (int i = 0; i < size; ++i) {
  37. cout << v[i] << " ";
  38. }
  39. cout << endl; // Linia nouă la final
  40. return 0;
  41. }
Success #stdin #stdout 0s 5276KB
stdin
7
5 -4 0 -7 7 7 2
5
2
1 100
2
1 0
1 3	8
stdout
8
5 -4 0 -7 7 7 0 3