2085: 双城记 A Tale of Two Cities

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:4 解决:3

题目描述

    帮助TomJerry解决了问题后,它们愉快的带着crazygirl来到了双城。

    双城虽说是叫双城,但是其实只是一座被一条河流分成东西两半的城市。

    双城的户籍系统很神奇。每一个人都有一个不重复编号。每出生一个人,这个人的标号就会变为原先的最大标号加一。每过世一个人,如果生前他的标号不是最大的,当前标号最大的人的标号就会变为逝者的标号。这样,双城所有居民的标号就始终恰好为1-n。另外双城城主不需要户籍,因此没有标号。

    住在河流之上的悬浮花园的双城城主很喜欢2这个数字。于是下令,所有住在东边的居民,如果标号为自己2倍再加2的人没有住在西边或者是干脆不存在,那么他必须搬出去;所有住在西边的居民,如果没有任何一个住在东边的居民标号乘2再加2等于他的标号,他也必须搬出城。

    这个命令一下,所有的居民顿时叫苦不迭。他们听说crazygirl刚刚解决了TomJerry的他们都不会的问题,于是乎请求crazygirl帮忙重新安排他们的住宿方案,使得能够住在城里的人尽量多。

输入

    一行一个整数n

输出

    一行一个整数表示居住在城内的最大人数

样例输入 复制

10

样例输出 复制

6

提示

【数据规模】

    对于10%的数据 1 <= n <= 10

    对于30%的数据 1 <= n <= 1000

    对于80%的数据 1 <= n <= 1018

    对于90%的数据 1 <= n <= 101000

    对于100%的数据 1 <= n <= 1010000

 

Hints

    看不懂题目?

    抽象成数学模型

    1-n的整数,放入A集合和B集合

    不用全部放入

    AB交集为空且A B大小相等

    对于所有的xA,总有2x+2B

    AB中最多共有多少元素