336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
문제 : https://www.acmicpc.net/problem/11659
2019/08/07 - [PS/Tip] - [C++/STL] 부분 합 partial_sum( )
위에 설명되어 있는 partial_sum( )을 이용하면 쉽게 구할 수 있다.
마지막 출력할 때 endl을 사용하면 시간 초과 뜬다.
그렇기 때문에 '\n' 으로 개행을 해준다.
#include <iostream>
#include <numeric>
#include <vector>
using namespace std;
int n, m;
vector<int> ori;
vector<int> ps;
int getRange(int s, int e){
if(s == 0) return ps[e];
return ps[e] - ps[s-1];
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m;
ori.resize(n);
ps.resize(n);
for(int i = 0; i < n; i++)
cin >> ori[i];
partial_sum(ori.begin(), ori.end(), ps.begin());
int s, e;
for(int i = 0; i < m; i++){
cin >> s >> e;
cout << getRange(s-1, e-1) << '\n';
}
return 0;
}
'PS > 백준 문제풀이' 카테고리의 다른 글
[백준 16139] 인간-컴퓨터 상호작용 (0) | 2019.08.07 |
---|---|
[백준 17203] ∑|ΔEasyMAX| (0) | 2019.08.07 |
[백준 1562] 계단 수 (0) | 2019.08.06 |
[백준 1102] 발전소 (0) | 2019.08.06 |
[백준 11723] 집합 (0) | 2019.08.06 |