/** * Your Fancy object will be instantiated and called as such: * Fancy* obj = new Fancy(); * obj->append(val); * obj->addAll(inc); * obj->multAll(m); * int param_4 = obj->getIndex(idx); */ #ifdef _DEBUG /* ["Fancy","append","addAll","append","multAll","getIndex","addAll","append","multAll","getIndex","getIndex","getIndex"] [[],[2],[3],[7],[2],[0],[3],[10],[2],[0],[1],[2]]
*/ intmain(){ string a, b; while (cin >> a >> b) { vector<string> va = stringToVectorString(a); vector<vector<int>> vb = stringToVectorVector(b); if (va.size() != vb.size()) { cout << "ERROR length" << endl; continue; } Fancy fancy; for (int i = 0; i < va.size(); i++) { string s = va[i]; if (!s.empty() && s[0] == '"') { s.erase(s.begin()); } if (!s.empty() && s.back() == '"') { s.erase(prev(s.end())); } int val = vb[i].empty() ? 0 : vb[i][0]; if (s == "Fancy") { fancy = Fancy(); } elseif (s == "append") { fancy.append(val); } elseif (s == "addAll") { fancy.addAll(val); } elseif (s == "multAll") { fancy.multAll(val); } elseif (s == "getIndex") { cout << fancy.getIndex(val) << endl; } else { cout << "ERROR" << endl; } } } return0; } #endif
defmultAll(self, m: int) -> None: self.add = self.add * m % MOD self.mul = self.mul * m % MOD
defgetIndex(self, idx: int) -> int: if idx >= len(self.vals): return -1 return (self.vals[idx] * self.mul + self.add) % MOD
# Your Fancy object will be instantiated and called as such: # obj = Fancy() # obj.append(val) # obj.addAll(inc) # obj.multAll(m) # param_4 = obj.getIndex(idx)