BOJ_S3_11659
π [S3_11659] κ΅¬κ° ν© κ΅¬νκΈ°4
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static StringTokenizer st;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
st = new StringTokenizer(br.readLine(), " ");
// κ°μ
int N = Integer.parseInt(st.nextToken());
// νμ
int M = Integer.parseInt(st.nextToken());
int[] arr =new int[N+1];
int[] sum = new int[N+1];
sum[0] = 0;
st = new StringTokenizer(br.readLine(), " ");
for(int i=1; i<N+1; i++) {
arr[i] = Integer.parseInt(st.nextToken());
// ν© κ΅¬νκΈ°
sum[i] = arr[i] + sum[i-1];
}
for(int i=0; i<M; i++) {
st = new StringTokenizer(br.readLine(), " ");
// μμκ³Ό λ
int start = Integer.parseInt(st.nextToken());
int end = Integer.parseInt(st.nextToken());
// μ 체 ν©μ λΉΌκΈ°
int res = 0;
start -= 1;
res = sum[end] - sum[start];
sb.append(res).append("\n");
}
// μΆλ ₯
System.out.println(sb);
}
}
π€ λμ μκ°
μ²μμ μκ°λ³΅μ‘λλ₯Ό μλ³΄κ³ λ°λ³΄κ°μ΄ μ½λ€κ³ forλ¬ΈμΌλ‘ κ·Έλ₯ νμλ€.. γ
γ
γ
γ
forλ¬ΈμΌλ‘ μ°Ύλκ° μμκ°μμ λκ° κΉμ§ λ€ λν΄μ£Όλ μμΌλ‘. μ μΆνλλ° νλμ μ±μ μ΄ μ§νμ΄ μλκΈΈλ .. μ€λ§? γ
γ
λ무μ½κΈ΄νλ€ μ΄λ¬λ©΄μ λ€μ λμκ°λ€.
λμκ°μ 보λ 100000 κ°μ΄λ€..γ
γ
γ
무쑰건 μκ°μ΄κ³Ό.. O(N^2) μ΄μμΌλ 1μ΄μμλ λΆκ°λ₯μ΄μλ€..
κ·Έλμ 보λ ν©μ λμ ν΄μ ꡬν΄μ£Όκ³ ν©λΌλ¦¬ λΉΌμ£Όλ©΄ μκ°λ³΅μ‘λκ° O(N) μΈ κ²μ΄λ€.
κ·Έλμ μ
λ ₯ λ°μ λ sum λ°°μ΄μ νλ λ ν΄μ κ³μ ν©μ μ μ₯νλ€.
κ·Έλ¬κ³ ꡬν΄μΌ νλ λκ°μ ν©μμ (μμ κ° -1) ν©μ λΉΌμ£Όμλ€.
λ무 λ§λ§νκ² λ΄€λ€κ° ν λ μ»μ΄λ§μ λ¬Έμ ^^