睡觉觉觉得 2023-09-12 22:08 采纳率: 85.2%
浏览 4
已结题

急!?!》<":(C++)

描述

给定一个数组A, 接着 M 次更新

每次询问两个整数 L, R,数组从 A[L] 到 A[R] 每个的数值加 1.

请问这个数组请问经过 M 次更新的数字是多少.

输入
每组数据包括三个部分

第一部分两个整数 N, M (1 <= N <= 100000 1<=M<=1000)

第二部分 N 个整数(每个整数范围 [1,10000000])

第三部分 M 行, 每行两个整数 L, R (L, R范围 [1,100000])

输出
请输出更新之后的数组,相邻数字之间用空格隔开.

输入样例 1

10 2
1 2 3 4 5 6 7 8 9 10
1 2
9 10
输出样例 1

2 3 3 4 5 6 7 8 10 11
语言:
C++

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-09-12 22:34
    关注
    #include <iostream>
    using namespace std;
    int main()
    {
        int n, m;
        cin >> n >> m;
        int arr[n];
        for (int i = 0; i < n; i++) 
            cin >> arr[i];
        int a, b;
        for (int i = 0; i < m; i++)
        {
            cin >> a >> b;
            for (int j = a; j <= b; j++) arr[j - 1]++;
        }
        for (int i = 0; i < n; i++)
        {
            if (i > 0) cout << " ";
            cout << arr[i];
        }
        return 0;
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月12日