#B. 猜数字作弊

    Type: Default File IO: guess 2000ms 512MiB

猜数字作弊

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

33DAI 写了一个一段二分猜数字的程序:

#include <bits/stdc++.h>
using namespace std;
int l, r, x;
int main()
{
    cin >> l >> r;
    cin >> x;
    int cnt = 0;
    while (l <= r)
    {
        cnt++;
        int mid = (l + r) / 2;
        if (mid == x)
        {
            cout << cnt;
            break;
        }
        if (mid < x)
            l = mid + 1;
        if (mid > x)
            r = mid - 1;
    }
    return 0;
}

33DAI 想让你帮他一起造一组数据,他会告诉你他决定的 llrr,你需要选择一个 lrl\sim r 之间的数作为 xx

显然选择不同的数,上面程序的输出可能不同,请你看看 lrl\sim r 中有几个数可以得到最大的输出。

输入格式

输入一行,为空格隔开的两个数 l,rl,r

输出格式

输出 lrl\sim r 中有几个数可以得到最大的输出。

1 10
3

样例 1 解释

1101\sim 10 作为 xx 时,对应输出分别为 3,2,3,4,1,3,4,2,3,43,2,3,4,1,3,4,2,3,4

1 100
37
333 33333
234
1 100000000
32891137

数据规模与约定

对于 100%100\% 的数据,1lr1081 \le l\le r \le 10^8

  • 子任务 1(10 分):保证 l=rl=r
  • 子任务 2(20 分):保证 rl=3r-l=3
  • 子任务 3(30 分):保证 r105r\le 10^5
  • 子任务 4(40 分):没有特殊限制。

国庆欢乐赛5

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2024-10-7 14:00
End at
2024-10-7 17:30
Duration
3.5 hour(s)
Host
Partic.
31