每日一题DP34【模板】前缀和描述给定一个长度为n的数组a1,a2,....an.接下来有q次查询, 每次查询有两个参数l, r.输入描述:第一行包含两个整数n和q.第二行包含n个整数, 表示a1,a2,....an.接下来q行,每行包含两个整数 l和r.输出描述:输出q行,每行代表一次查询的结果.示例1输入:```3 21 2 41 22 3```输出:```36```解法一:前缀和时间复杂度:O(n) + O(q)空间复杂度:O(n)#include <iostream>#include <vector>using namespace std;int main() { int n, q; cin >> n >> q; vector<long long> arr(n + 1), dp(n + 1); for(int i = 1; i <= n; i++) { cin >> arr[i]; dp[i] = dp[i - 1] + arr[i]; //统计前n个数和 } for(int i = 0; i < q; i++) { int l, r; cin >> l >> r; cout << dp[r] - dp[l - 1] << endl; } return 0;}// 64 位输出请用 printf("%lld")