kedaOJ#P2708电动车骑行
题目
kedaOJ#P2708电动车骑行
思路
双指针,好像就是尺取法
代码
#include<bits/stdc++.h>
using namespace std;
int main() {
int w, n;
cin >> w >> n;
vector<int> weights(n);
for (int i = 0; i < n; i++) {
cin >> weights[i];
}
// 对体重进行排序
sort(weights.begin(), weights.end());
int left = 0, right = n - 1;
int cars = 0;
// 使用双指针法进行配对
while (left <= right) {
if (weights[left] + weights[right] <= w) {
// 如果最轻和最重的人可以共用一辆车
left++;
right--;
} else {
right--;
}
cars++;
}
cout << cars << endl;
return 0;
}
这是mcr130102的博客,转载请注明出处