22hhlin


私信TA

用户名:dotcpp0703740

访问量:3135

签 名:

好好学算法

等  级
排  名 11180
经  验 984
参赛次数 0
文章发表 15
年  龄 20
在职情况 学生
学  校 汕头大学
专  业 计算机科学与技术

  自我简介:



参考代码:


#include <bits/stdc++.h>

using namespace std;


const int N = 1000010;

int a[N];


int main(void) {

    int n, m;

    scanf("%d%d", &n, &m);


    for (int i = 1; i <= n; i++) scanf("%d", &a[i]);

    for (int i = 1; i <= m; i++)

    {

        int l, r, ans = 0;

        scanf("%d%d", &l, &r);


        for (int j = l; j <= r; j++) {

            a[j] = floor(log2(a[j]) + 1);

            ans += a[j];

        }

        for (int j = 1; j <= n; j++) {

            if (j < l || j > r) ans += a[j];

        }


        printf("%d\n", ans);

    }

    return 0;

}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区