15、轻重搭配

2021/12/14 23:47:22

本文主要是介绍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、轻重搭配的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程