Count Good Meals LeetCode solution in C++
1class Solution {2public:3int countPairs(vector<int> &deliciousness) {4int cnt = 0;5unordered_map<int, int> mp;6mp[deliciousness[0]]++;7int mod = 1e9 + 7;8for (int i = 1; i < deliciousness.size(); i++) {9for (int p = 1; p <= (1 << 21); p *= 2) {10if (mp.find(p - deliciousness[i]) != mp.end()) {11cnt = (cnt + mp[p - deliciousness[i]]) % mod;12}13}14mp[deliciousness[i]]++;15}16return cnt % mod;17}18};