//输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。  //还是双指针,开始让两个指针分别指向数组的头和尾。
//如果两个指针所指的数之和小于sum,头指针后移;
//如果两个指针所指的数之和大于sum,尾指针前移;(因为是递增数组,从两头往中间查找的第一对数字即是乘积最小的一对)

class Solution {
public:
    vector<int> FindNumbersWithSum(vector<int> array,int sum) {
        int n=array.size();
        vector<int> res;
        int begin=0;
        int end=n-1;
        while(begin<end){
            if(array[begin]+array[end]==sum){
                res.push_back(array[begin]);
                res.push_back(array[end]);
                break;//及时跳出循环(当找到满足条件的一对数就跳出)
            }
            else if(array[begin]+array[end]<sum)
                begin++;
            else end--;
        }
        return res;
    }
};