Ilya_konstantinov

Untitled

Apr 18th, 2026
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cstdint>
  4. #include <string>
  5. #include <cassert>
  6. #include "func.h"
  7.  
  8. void Info(const MyVector &vector) {
  9. std::cout << vector.Sum() << ' '
  10. << std::setprecision(4) << std::fixed
  11. << vector.Mean() << ' '
  12. << vector.Min() << ' '
  13. << vector.Max() << '\n';
  14. }
  15. #undef DEBUG
  16. int main() {
  17. #ifdef DEBUG
  18. freopen("in.txt", "r", stdin);
  19. freopen("out.txt", "w", stdout);
  20. #endif
  21. std::cin.tie(nullptr)->sync_with_stdio(false);
  22.  
  23. int n, m;
  24. std::cin >> n >> m;
  25. MyVector vec(n);
  26. for (int i = 0; i < n; ++i) {
  27. std::cin >> vec[i];
  28. }
  29.  
  30. std::string cmd;
  31. while (m--) {
  32. std::cin >> cmd;
  33. if (cmd == "add") {
  34. size_t index;
  35. int32_t x;
  36. std::cin >> index >> x;
  37. if (index != 0) {
  38. vec.Insert(x, index - 1);
  39. } else {
  40. vec.PushBack(x);
  41. }
  42. } else if (cmd == "remove") {
  43. size_t index;
  44. std::cin >> index;
  45. if (index != 0) {
  46. vec.Erase(index - 1);
  47. } else {
  48. vec.PopBack();
  49. }
  50. } else if (cmd == "get") {
  51. ssize_t index; std::cin >> index;
  52. std::cout << vec[index] << '\n';
  53. } else if (cmd == "concat") {
  54. size_t m; std::cin >> m;
  55. MyVector other(m);
  56. for (int i = 0; i < n; ++i) {
  57. std::cin >> other[i];
  58. }
  59. vec ^= other;
  60. } else if (cmd == "info") {
  61. Info(vec);
  62. }
  63. #ifdef DEBUG
  64. std::cout << vec << '\n';
  65. #endif
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment