728x90
#include<iostream>
#include<vector>
using namespace std;
int n, m;
int arr[100010];
vector<pair<int, int>>v;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> n >> m;
arr[0] = 0;
for (int i = 1; i <=n; i++) {
int num;
cin >> num;
arr[i] = arr[i - 1] + num;
}
for (int i = 0; i < m; i++) {
int a, b;
cin >> a;
cin >> b;
v.push_back(make_pair(a, b));
}
for (int j = 0; j < m; j++) {
int s = v[j].first;
int e = v[j].second;
cout << (arr[e] - arr[s - 1]) << "\n"; // 이거 때매 시간초과남.
}
return 0;
}
- 누적합으로 구하는 것 같은데 왜 이게 투포인터인지 잘 모르겠다.
'백준 > 투포인터' 카테고리의 다른 글
부분합 - 1806번 (0) | 2021.09.01 |
---|---|
두수의 합 - 3273번(Java) (0) | 2021.09.01 |
겹치는건 싫어 (0) | 2021.04.12 |
두 용액 (0) | 2021.04.11 |
배열합치기 (0) | 2021.04.08 |