#include "leetcode.h" class Cashier { public: Cashier(int n, int discount, vector &products, vector &prices) { count = 0, mod = n, pct = (100.0 - discount) / 100.0; for (int i = 0; i < products.size(); ++i) tags[products[i]] = prices[i]; } double getBill(vector product, vector amount) { count++; double ans(0.0); for (int i = 0; i < product.size(); ++i) ans += tags[product[i]] * amount[i]; return count % mod ? ans : ans * pct; } private: unordered_map tags; int count, mod; double pct; }; int main() { Cashier *obj = new Cashier(n, discount, products, prices); double param_1 = obj->getBill(product, amount); }