返回题解分享
讨论 / 题解分享/ 帖子详情

一维前缀和 - 题解

帮忙看看有什么可以优化嘛👀️

//用全能头
#include <bits/stdc++.h>
using namespace std;

int main()
{
    //输入数组长度n,cir再赋一遍
    int n, cir;
    cin >> n;
    cir = n;
    //初始化数组number、sum还有累计和add
    //最后前缀和减需要i-1位所以index0拿来做被减头
    int number[n] = {0};
    int sum[n] = {0};
    sum[0] = 0;
    int add = 0;
    //循环输入数组,注意sum从第二开始赋值
    while(cir)
    {
        cin >> number[n-cir];
        add += number[n-cir];
        sum[n-cir+1] = add;
        cir--;
    }
    //输入多少组测试times
    int times = 0;
    cin >> times;
    //输入左右索引l,r
    int l, r;
    //运算后按格式输出
    while(times)
    {
        cin >> l;
        cin >> r;
        cout << sum[r] - sum[l-1] << endl;
        times--;
    }
}
0 回复 0 转发 0 喜欢 2 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!