#B1175. 特殊的集合

特殊的集合

【题目描述】

令集合 A={1,2,…,n}A=\{1,2,\ldots,n\},集合 BB 是集合 AA 的一个子集。

对于集合 BB 中的任意元素 xx,都不能同时满足 2x∈B2x\in B。也就是说,不能同时选择 xx 和 2x2x。

请你求出集合 BB 所能包含的最大元素个数。

具体的说,你需要从 11 到 nn 中选出尽可能多的数,但要保证不能同时选取某个数和其两倍的数,输出最多选取个数。


【输入描述】

输入一个整数 nn。

保证:

  • 1≤n≤1091\le n\le10^9。

【输出描述】

输出一个整数,表示集合 BB 的最大元素个数。


【样例 1】

【样例 1 输入】

20

【样例 1 输出】

14

【样例 1 解释】

例如可以取

B={1,3,4,5,7,9,11,12,13,15,16,17,19,20}.B=\{1,3,4,5,7,9,11,12,13,15,16,17,19,20\}.

这个集合包含 1414 个元素,且不存在同时属于 BB 的 xx 和 2x2x;答案不可能超过 1414。


【样例 2】

【样例 2 输入】

100

【样例 2 输出】

67