๋ฐ์ํ
๋ฌธ์
์ N๊ฐ๊ฐ ์ฃผ์ด์ก์ ๋, i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์๋ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ ์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ํฉ์ ๊ตฌํด์ผ ํ๋ ๊ตฌ๊ฐ i์ j๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ด M๊ฐ์ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง ํฉ์ ์ถ๋ ฅํ๋ค.
ํ์ด
// ํ์ด : https://whkakrkr.tistory.com
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
// input
int n,m;
cin >> n >> m;
vector<int>v(n);
for(int i=0; i<n; i++) {
cin >> v[i];
}
// solution
vector<int>prefix(n+1,0);
for(int i=1; i<=n; i++) {
prefix[i] = prefix[i-1] + v[i-1];
}
// output
while(m--) {
int i,j;
cin >> i >> j;
cout << prefix[j] - prefix[i-1] << "\n";
}
return 0;
}
๋ฐ์ํ
'๐๏ธ PS (BOJ) > Prefix Sum' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 14246๋ฒ : K๋ณด๋ค ํฐ ๊ตฌ๊ฐ (0) | 2024.08.08 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 11660๋ฒ : ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 5 (0) | 2024.08.08 |
[C++][BOJ] ๋ฐฑ์ค 2167๋ฒ: 2์ฐจ์ ๋ฐฐ์ด์ ํฉ (0) | 2024.08.08 |