欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Uva1149-Erasing ans Winning

程序员文章站 2022-03-11 19:21:59
...

Uva1149-Erasing ans Winning
Uva1149-Erasing ans Winning
Uva1149-Erasing ans Winning

#include<iostream>
#include <math.h>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> arr;
int pro(int ctn);
int main() {
	int T;
	cin >> T;
	while (T--) {
		arr.clear();
		int n,ctn;
		cin >> n;
		cin >> ctn;
		for (int i = 0; i < n; i++) {
			int x;
			cin >> x;
			arr.push_back(x);
		}
		cout<<pro(ctn);
		

	}
}
int pro(int ctn) {
	int num = 0;
	sort(arr.begin(),arr.end());
	int r = arr.size() - 1;
	int l = 0;
	for (r; r >= l; r--) {
		if (arr[r] + arr[l] <= ctn && r != l) {
			num++;
			l++;
		}
		else {
			num++;
		}
	}
	return num;
}