# LeetCode - 0888. Fair Candy Swap ### 題目網址:https://leetcode.com/problems/fair-candy-swap/ ###### tags: `LeetCode` `Easy` `二分搜尋法(Binary Search)` ```cpp= /* -LeetCode format- Problem: 888. Fair Candy Swap Difficulty: Easy by Inversionpeter */ class Solution { public: vector<int> fairCandySwap(vector<int>& A, vector<int>& B) { int sumA = accumulate(A.begin(), A.end(), 0), sumB = accumulate(B.begin(), B.end(), 0), buffer; vector <int>::iterator iter; sort(A.begin(), A.end()); for (int i = 0; i != B.size(); ++i) { buffer = (sumA - sumB + (B[i] << 1)) >> 1; iter = lower_bound(A.begin(), A.end(), buffer); if (iter != A.end() && *iter == buffer) return { buffer, B[i] }; } return { -1, -1 }; } }; ```