class Solution {
public:
int minimumAddedCoins(vector<int>& coins, int target) {
int x = 1, i = 0, res = 0;
sort(coins.begin(), coins.end());
while(x <= target) {
//if(coins[i] <= x && i < coins.size()) WA,两者顺序不能倒,
//否则coins[i]可能会越界
if(i < coins.size() && coins[i] <= x) x += coins[i++];
else x *= 2, res++;
}
return res;
}
};