고정된 배열과 m개의 구간 질의가 주어질 때, 각 질의의 두 인덱스 사이에 있는 원소의 합을 출력한다.
쉬움3누적 합배열면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB정수가 들어 있는 배열, 예를 들어 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이 있다고 하자. 모든 원소의 합은 반복문 하나로 쉽게 구한다.
int size = 10;
int total = 0;
for (int i = 0; i < size; i += 1) {
total = total + v[i];
}
다른 구간의 원소만 더하고 싶다면 (예를 들어 5번 자리부터 7번 자리까지) 반복문의 몇 군데만 고치면 된다. 이 문제에서는 그 계산을 여러 번 해야 한다.
첫 줄에 배열의 크기 n이 주어진다. 둘째 줄에 배열의 원소 n개가 공백으로 구분되어 주어진다.
배열 다음 줄에는 질의의 개수 m이 주어진다. 이어지는 m개의 줄에는 질의가 한 줄에 하나씩 주어진다. 질의는 두 정수 start와 end로 이루어지며, start번 자리부터 end번 자리까지 원소의 합을 구해야 한다.
제한
start와 end는 배열에 있는 자리이고 0 <= start <= end <= n-1을 만족한다.질의마다 start번 자리부터 end번 자리까지 원소의 합을 한 줄에 하나씩 출력한다. 양 끝 자리도 합에 포함한다.
즉 array[start] + array[start+1] + ... + array[end-1] + array[end]를 출력한다.