A. Bits(Codeforces Round #276(div1)_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:54:39
原创
1629人浏览过

A. Bits

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

let's denote as  the number of bits set ('1' bits) in the binary representation of the non-negative integer x.

You are given multiple queries consisting of pairs of integers l and r. For each query, find the x, such that l?≤?x?≤?r, and  is maximum possible. If there are multiple such numbers find the smallest of them.

Input

The first line contains integer n ? the number of queries (1?≤?n?≤?10000).

Each of the following n lines contain two integers li,?ri ? the arguments for the corresponding query (0?≤?li?≤?ri?≤?1018).

Output

For each query print the answer in a separate line.

立即学习前端免费学习笔记(深入)”;

Sample test(s)

input

31 22 41 10
登录后复制

output

137
登录后复制

Note

The binary representations of numbers from 1 to 10 are listed below:

110?=?12

210?=?102

310?=?112

410?=?1002

510?=?1012

610?=?1102

710?=?1112

jQuery瀑布流插件Grid-A-Licious
jQuery瀑布流插件Grid-A-Licious

jQuery瀑布流插件Grid-A-Licious是一款简单易用的jQuery插件,可用于创建响应式瀑布流布局,针对不同设备可自动适应宽度。

jQuery瀑布流插件Grid-A-Licious 81
查看详情 jQuery瀑布流插件Grid-A-Licious

810?=?10002

910?=?10012

1010?=?10102


第1次打div1,就赶上cf挂了,不算rating,在25分钟交了一发,判了半个多小时,最后返回个RE,竟然位运算爆int了,过了A题就睡觉去了

给出一段区间的左端点和右端点,求这段区间的二进制的1最多的最小的。

先把左区间L化为二进制,再把左区间的二进制的从最小位开始,每位变为1,因为这是在当前1的个数中最小的且大于L的。直到大于右区间R。

代码:

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;long long a[100];int main(){    long long l,r;    int n;    scanf("%d",&n);    while(n--)    {        scanf("%I64d%I64d",&l,&r);        memset(a,0,sizeof(a));        int cou=0;        long long ans=l;        while(l>0)        {            a[cou++]=(l%2);            l=l/2;        }        for(int i=0;; i++)        {            a[i]=1;            long long temp=0;            for(int j=0; j<max(cou,i+1); j++)            {                temp+=(a[j]<<j);            }            if(temp<=r)                ans=temp;            else                break;        }        printf("%I64d\n",ans);    }    return 0;}
登录后复制




HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号