这个倒水的,主要是当时没找好规律,而且也是后期了,其实我感觉这题其实是可以出的,但是,诶~
这个我觉得没xjb猜出来的原因主要是没有多写几个,如果多写几个的话一定能找到规律的。然后就是这么回事
0,1为上限的时候就是0,还有就是然后很多一般的规律的就是(l+1)/2,然后就是这么回事,你应该一次加2,还有需要特判的就是当l == 0的时候,你吧,应该从零开始,规律吧,你就那个多写几个,然后归纳就行了
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long LL;
int main()
{
LL l , r;
while(~scanf("%lld %lld",&l ,&r)){
if(r <= 1){
printf("0\n");
continue;
}
if(r <= 2){
printf("1\n");
continue;
}
if(l == 0){
printf("%lld\n",(r + 1)/2);
}
else{
LL tmp = (r - l)/2 + 1;
if(tmp < 2) printf("2\n");
else printf("%lld\n",tmp);
}
}
return 0;
}