问题 6409 --盒子(f)

6409: 盒子(f)

题目描述

小Y有n个盒子,第i个盒子的大小是a[i], 小Y保证 a[i] 一定是2的若干次方,比如1,2,4,8,16,32,64,128,512,1024……,一个大小为a[i] 的盒子的容量是 a[i]/2 ,就是说它可以装下总大小不超过 a[i]/2的其他盒子,特别地,大小为1的盒子不能装下其他盒子。并且,装在盒子里的盒子也可以装其他盒子,比如,大小为8的盒子可以装下一个大小为4的盒子且大小为4的盒子事先已经装了一个大小为2的盒子。 现在小Y想知道,最少能有多少个不被其他盒子装下的盒子?

输入

第一行1个正整数n,表示盒子的数量。 第二行n个正整数a[i],表示每个盒子的大小,保证a[i] 一定是2的若干次方。

输出

一行一个正整数表示最少能有多少个不被其他盒子装下的盒子。

样例输入输出

输入#1 复制
5
1 2 1 1 8
输出#1 复制
1
输入#2 复制
3
1 1 1
输出#2 复制
3
输入#3 复制
6
1 1 1 4 1 2
输出#3 复制
3
输入#4 复制
3
8 4 2
输出#4 复制
1

提示

【样例解释1】 ![](/upload/image/20260208/212155_29415.png) 图中盒子内部的灰色部分表示盒子不能用来装东西的一半容量,白色部分表示能用来装东西的一半容量,图中只有最大的盒子没有被装在其它盒子中,因此答案为1。 样例解释2 ![](/upload/image/20260208/212205_95531.png) 样例解释3 ![](/upload/image/20260208/212214_24398.png) 样例解释4 ![](/upload/image/20260208/212224_10211.png) 【数据规模】 本题共有12个测试点 对于全部测试点:1≤n≤100000, 1≤a[i]≤2^60 对于测试点1-3 :1≤n≤3 对于测试点4-5 :1≤a[i]≤4 对于测试点6-9 :1≤n≤1000 2^60=1152921504606846976
序号 标题 作者 发表时间 费用 订购数 操作