#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 大于目标值的最多组合
int max_zuhe(vector<int> &nums,int target){
int res = 0;
sort(nums.begin(), nums.end());
int i = 0,j = nums.size()-1;
while (i<j){
if (nums[j] >= target){
res++;
j--;
} else{
while (nums[i]+nums[j] < target) i++;
if (nums[i]+nums[j]>=target && i<j){
i++;
j--;
res++;
}
}
}
return res;
}
int main(){
vector<int> nums = {3,1,5,7,9,2,6};
int target = 8;
int res= max_zuhe(nums,target);
cout<<res<<endl;
return 0;
}