提交时间:2024-10-05 14:08:35

运行 ID: 52413

#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; #define ll long long int a[N], maxn; void dfs(int l, int r, int cnt) { // 递归出口 if(l > r) return ; int mid = (l + r) / 2; // 如何得到答案? 搜索次数最多的?出现了多少次? a[cnt]++; maxn = max(maxn, cnt); dfs(l, mid-1, cnt+1); dfs(mid+1, r, cnt+1); } int main() { int l, r; cin >> l >> r; dfs(l, r, 1); // l,r表示当前搜索区间的左右端点,1表示搜了多少次 cout << a[maxn]; return 0; }