2940. 凤凰古城

单点时限: 2.0 sec

内存限制: 256 MB

凤凰古城,位于沱江之畔,群山环抱,关隘雄奇。碧绿的沱江依着城墙缓缓流淌,叠翠的南华山麓倒映江中。江中渔舟游船数点,山间暮鼓晨钟兼鸣,悬崖上的吊脚楼轻烟袅袅,码头边的浣纱姑笑声朗朗,两岸已有数百年历史的吊脚楼更是别有一番风味。顺水而下穿过虹桥一幅江南水乡的画郑便展现于眼前万寿宫万名塔夺翠楼 …… 一种远离尘世的感觉悠然而生。凤凰,犹如 “ 一幅浓墨浅彩的中国山水画 ”。当你徜徉古城用条石砌成的岩板街时,两边的古建筑各抱地势,鳞次栉比,亭台楼阁重重叠叠,如巨龙飞舞,似鳌鱼展翅。细雨声中,仿佛传来敬香人的牛皮钉鞋敲击街面,发出 “ 叮叮 ” 的响声,使人产生隔世之感。街道两边,有许多屠铺、染坊、制作银器首饰的作坊;各种土特产的店铺,工艺美术店。还有小吃部和酒店,狗肉汤锅香味,包谷烧的醇香使人垂涎。

2011 年暑假,lwc626、haozi、McFn 和 solofandy 组织了一次骑自行车去湖南凤凰古城的活动。假设 ACM/ICPC 实验室有 n 个人,第 i 个人体重是 ci。每辆自行车的载重量都是 K,每车最多载 2 人(一个人骑,另一个坐在后面)。考虑到车多不便于停放,现在请你进行合理安排,既能使用的自行车数量尽量少,又能让大家全体出游一次?

输入格式
第 1 行是一个整数 T 表示测试数据组数

接下来是 T 组测试数据,对于每组数据:

第 1 行有两个整数 N(3< N <1000),K(1< K <1000),分别表示实验室总人数和每辆车的最大载重量

第 2 行有 n 个用空格隔开的整数 ci(i=0…n-1,1<= ci <=K)

输出格式
对于每组测试数据输出一行,每行只有一个数字,即为最少的自行车数。

样例
input
2
10 8
7 1 4 2 5 3 1 5 4 4
3 10
1 3 5
output
5
2

/*
思路:贪心
最重的要跟最轻的人一起拼,拼不成就自己单独
*/
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
	int t;
	cin>>t;
	for(int i = 0; i < t; i++) {
		int n,k;
		cin>>n>>k;
		int a[n];
		for(int j = 0; j < n; j++)
			cin>>a[j];
		sort(a,a+n);
		int ans=0;
		int j = 0;
		int z = n-1;
		while(j<=z) {
			if(a[j]+a[z]<=k) {
				j++;
				z--;
				ans++;
			} else {
				ans++;
				z--;
			}
		}
		cout<<ans<<endl;
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值