1class ProductOfNumbers {2private:3vector<int> prefixProduct;45public:6ProductOfNumbers() {}78void add(int num) {9if (num == 0) {10prefixProduct.clear();11return;12}13if (prefixProduct.empty()) {14prefixProduct.push_back(num);15} else {16int prod = prefixProduct[prefixProduct.size() - 1] * num;17prefixProduct.push_back(prod);18}19}20int getProduct(int k) {21if (k > prefixProduct.size()) {22return 0;23}24int size = prefixProduct.size();25if (k == size) return prefixProduct[size - 1];26int prod = prefixProduct[size - 1] / prefixProduct[size - k - 1];27return prod;28}29};