https://www.acmicpc.net/problem/11659
매번 계산하지 말고 arr[n]까지의 합을 구해놓은 배열 sum을 구현하여
sum[b]-sum[a-1]을 이용해 a~b까지의 구간 합을 구한다
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String[] nm = br.readLine().split(" ");
int n = Integer.parseInt(nm[0]);
int m = Integer.parseInt(nm[1]);
int[] arr = new int[n];
String[] nums = br.readLine().split(" ");
for(int i=0;i<n;i++){
arr[i] = Integer.parseInt(nums[i]);
}
int[] sum = new int[n];
for(int i=0;i<n;i++){
if(i==0){
sum[i] = arr[i];
}
else{
sum[i]=sum[i-1]+arr[i];
}
}
for(int i=0;i<m;i++){
String[] fb = br.readLine().split(" ");
int f= Integer.parseInt(fb[0])-1;
int b = Integer.parseInt(fb[1])-1;
int res = (f==0)?sum[b]:sum[b]-sum[f-1];
bw.write(Integer.toString(res)+"\n");
}
bw.flush();
bw.close();
}
}
'cs > Datastructure & Algorithm' 카테고리의 다른 글
배열의 구간 합 3 - 나머지 합 구하기 (0) | 2022.09.28 |
---|---|
배열의 구간 합 2 - 2차원 배열의 구간 합 구하기 (0) | 2022.09.28 |
알고리즘 복잡도 / Big-O / 점근적 분석 (0) | 2022.09.28 |
배열 (0) | 2022.09.28 |