leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
1357.cpp (694B)
0 class Cashier { 1 uint16_t price[201]; 2 uint16_t n, crnt = 0; 3 double discount; 4 5 public: 6 Cashier(int n, int discount, const vector<int> &products, const vector<int> &prices) 7 : n(n), discount((double)(100 - discount) / 100.0) { 8 for (int i = 0; i < products.size(); i++) 9 this->price[products[i]] = prices[i]; 10 } 11 12 double getBill(const vector<int> &product, const vector<int> &amount) { 13 uint32_t total = 0; 14 for (uint8_t i = 0; i < product.size(); i++) 15 total += price[product[i]] * amount[i]; 16 17 if (++crnt == n) { 18 crnt = 0; 19 return total * discount; 20 } 21 22 return total; 23 } 24 };