Submission
Status:
PP------------------
Score: 10
User: Winzzwz
Problemset: ผลบวก (ยาก)
Language: cpp
Time: 0.098 second
Submitted On: 2024-11-10 23:24:11
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int dp[1000100];
vector<pair<int,int>> change;
int n,q,t,c1,c2,x,y;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
cin >> n;
for (int i = 0; i < n; i++) {
cin >> dp[i];
if (i > 0) dp[i] += dp[i-1];
}
cin >> q;
while (q--) {
cin >> t;
while (t--) {
cin >> c1 >> c2;
change.push_back({c1,c2});
}
cin >> x >> y;
int sz = change.size(), sum = 0;
for (int i = 0; i < sz; i++) {
int ii = change[i].first;
int v = dp[ii];
if (ii > 0) v -= dp[ii-1];
if (ii >= x && ii <= y) sum += change[i].second-v;
}
sum += dp[y]-dp[x-1];
cout << sum << "\n";
}
return 0;
}