#include #include #include class Solution { public: static int subarraySum(const std::vector& nums, int k) { int sum = 0, ret = 0; std::unordered_map m; m.reserve(nums.size()); m[0] = 1; for (int i : nums) { ret += m[(sum += i) - k]; ++m[sum]; } return ret; } }; int main() { std::printf("%d\n", Solution::subarraySum({1,2,3}, 3)); return 0; }