15、轻重搭配
作者:互联网
题目描述
n 个同学去动物园参观,原本每人都需要买一张门票,但售票处推出了一个优惠活动,一个体重为 x 的人可以和体重至少为 2x 配对,这样两人只需买一张票。现在给出了 n 个人的体重,请你计算他们最少需要买几张门票?
输入
第一行一个整数 n,表示人数。
第二行 n 个整数,每个整数 ai 表示每个人的体重。
输出
一个整数,表示最少需要购买的门票数目。
样例输入
6 1 9 7 3 5 5
样例输出
4
提示
1 和 9配对,7 和 3 配对,剩下 5,5 单独,一共买四张票。
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j,sum=0;
cin>>n;
int a[n];
for(i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
i=n/2;
j=n;
while(i){
if(a[i]*2<=j){
sum++;
i--;
j--;
}else{
sum++;
i--;
}
}
cout<<sum+j-n/2;
return 0;
}
标签:15,搭配,样例,整数,int,门票,体重,配对,轻重 来源: https://blog.csdn.net/weixin_46027166/article/details/121942414