package baekjoon;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
//누적합 사용
public class b11441_2 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int [] sum = new int[N+1];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i = 1; i <= N; i++) {
sum[i] = sum[i-1] + Integer.parseInt(st.nextToken()); //누적합 구하기
}
int M = Integer.parseInt(br.readLine());
while ( M --> 0) { //variable--; variable > 0; 이 두 가지를 합쳐놓은 것
st = new StringTokenizer(br.readLine());
int i = Integer.parseInt(st.nextToken());
int j = Integer.parseInt(st.nextToken());
sb.append(sum[j] - sum[i-1]).append("\n");
//만약 주어진 구간이 3 5 이라면 5까지 누적합에서 2까지 누적합을 빼주면 된다.
}
System.out.println(sb);
}
}
누적합이라는 개념 사용하는 문제!! 알아두자
그리고 StringBuilder... 요놈 정말 요긴하네
앞으로 자주 사용하도록 !
'Problems & Solutions' 카테고리의 다른 글
7795 먹을 것인가 먹힐 것인가 (0) | 2022.07.30 |
---|---|
9095 1, 2, 3 더하기 (0) | 2022.07.30 |
1058 친구 (0) | 2022.07.25 |
1244 스위치 켜고 끄기 (0) | 2022.07.25 |
23881 알고리즘 수업 - 선택 정렬 1 (0) | 2022.07.02 |