传统题 1000ms 256MiB

阅读代码,输出结果

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

int cnt = 0;
void build(int rt, int l, int r)
{
    if(l > r) return;
    cnt ++;
    if(l == r) return;
    int mid = (l + r) >> 1;
    build(rt << 1, l, mid - 1);
    build(rt << 1 | 1, mid + 1, r);
}

代码如上所示,现在我们的操作为输入一个数字nn,然后输出cntcnt。主函数代码如下所示。

int n;
while(scanf("%d", &n) != EOF)
{
    cnt = 0;
    build(1, 1, n);
    printf("%d\n", cnt);
}

现在,请你补全代码。

输入格式

多组输入。输入组数小于等于$10^5$。

在一行内输入一个正整数$n(1≤n≤10^5)$。

输出格式

对于每组输入,在一行中输出一个整数,表示$cnt$的值。

样例

1
2
1
2

来源

2022 HGNU-SWUT暑假联合集训

HGNU ACM Training Round #8

未参加
状态
已结束
规则
ACM/ICPC
题目
12
开始于
2022-7-9 13:00
结束于
2022-7-9 18:00
持续时间
5 小时
主持人
参赛人数
28