class Solution { public: vector twoSum(vector& nums, int target) { vector > v; for(int i = 0; i < nums.size(); i++) { v.push_back(make_pair(nums[i], i)); } sort(v.begin(), v.end()); int S = 0; int E = nums.size() - 1; while(S < E) { if(v[S].first + v[E].first == target) { return {v[S].second, v[E].second}; } else if(v[S].first + v[E].first > target) { E--; } else { S++; } } return {}; } };