AT_arc161_b.[ARC161B] Exactly Three Bits

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于一个正整数 XX,定义 f(X)f(X) 为 XX 在二进制表示下 11 的个数,比如,因为 6=110(2)6=110_{(2)},11=1101(2)11=1101_{(2)},16=10000(2)16=10000_{(2)},所以 f(6)=2f(6)=2,f(11)=3f(11)=3,f(16)=1f(16)=1。

现在给定你一个正整数 NN,问是否存在一个小于等于 NN 的正整数 XX,满足 f(X)=3f(X)=3。如果存在,请输出满足条件的最大的 XX,否则输出 -1。

本题有多组数据。

输入格式

第一行一个整数 T(1≤T≤105)T(1\le T\le10^5),表示数据组数。

接下来 TT 行每行一个正整数 N(1≤N≤1018)N(1\le N\le10^{18})。

输出格式

共 TT 行,每行一个整数表示第 ii 个问题的答案。

输入输出样例

  • 输入#1

    4
    16
    161
    4
    1000000000000000000

    输出#1

    14
    161
    -1
    936748722493063168

输入解题思路,AI测评打分。不知道怎么写?

首页