其他分享
首页 > 其他分享> > 15、轻重搭配

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