#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void solveMethod(int n, vector<int> ints, int base)
{
vector<int> arr;
for(int i = 0; i < ints.size(); i++)
{
if(base > ints[i])
{
arr.push_back(ints[i]);
}
}
sort(arr.begin(), arr.end());
int count = n - arr.size();
int i = 0;
int j = arr.size() - 1;
while(i < j)
{
if(arr[i] + arr[j] >= base)
{
count++;
i++;
j--;
}
else
{
i++;
}
}
cout << count << endl;
}
int main()
{
int n;
cin >> n;
vector<int> ints(n);
for(int i = 0; i < n; i++)
{
cin >> ints[i];
}
int base;
cin >> base;
solveMethod(n, ints, base);
return 0;
}
这篇文章介绍了一个名为`solveMethod`的C++函数,用于计算给定整数数组中,两两元素相加大于等于特定基的组合数量。通过排序和双指针法实现算法。
689

被折叠的 条评论
为什么被折叠?



