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;
}
posted @ 2024-06-22 14:31  mcr130102  阅读(8)  评论(0编辑  收藏  举报
请不要抄袭任何人的博客,这是对一名开发者最基本的尊重。