题解 | #【模板】前缀和#

【模板】前缀和

https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, q;
    cin >> n >> q;
    vector<int> arr(n+1);
    for(int i=1;i<=n;i++)
    cin>>arr[i];

  /*
  一个动态规划,下标0到l之间的数是0到r和重复,减去前面的值就是l到r之间的值。
  类型注意区间范围,防止溢出
*/
    vector<long long > dp(n + 1);
    for(int i=1;i<=n;i++)
    {
        dp[i]=dp[i-1]+arr[i];
    }

    int l=0,r=0;
    for(int i=0;i<q;i++)
    {
        cin>>l>>r;
        cout<<dp[r]-dp[l-1]<<endl;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务