Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <cstdint>
- #include <string>
- #include <cassert>
- #include "func.h"
- void Info(const MyVector &vector) {
- std::cout << vector.Sum() << ' '
- << std::setprecision(4) << std::fixed
- << vector.Mean() << ' '
- << vector.Min() << ' '
- << vector.Max() << '\n';
- }
- #undef DEBUG
- int main() {
- #ifdef DEBUG
- freopen("in.txt", "r", stdin);
- freopen("out.txt", "w", stdout);
- #endif
- std::cin.tie(nullptr)->sync_with_stdio(false);
- int n, m;
- std::cin >> n >> m;
- MyVector vec(n);
- for (int i = 0; i < n; ++i) {
- std::cin >> vec[i];
- }
- std::string cmd;
- while (m--) {
- std::cin >> cmd;
- if (cmd == "add") {
- size_t index;
- int32_t x;
- std::cin >> index >> x;
- if (index != 0) {
- vec.Insert(x, index - 1);
- } else {
- vec.PushBack(x);
- }
- } else if (cmd == "remove") {
- size_t index;
- std::cin >> index;
- if (index != 0) {
- vec.Erase(index - 1);
- } else {
- vec.PopBack();
- }
- } else if (cmd == "get") {
- ssize_t index; std::cin >> index;
- std::cout << vec[index] << '\n';
- } else if (cmd == "concat") {
- size_t m; std::cin >> m;
- MyVector other(m);
- for (int i = 0; i < n; ++i) {
- std::cin >> other[i];
- }
- vec ^= other;
- } else if (cmd == "info") {
- Info(vec);
- }
- #ifdef DEBUG
- std::cout << vec << '\n';
- #endif
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment