IT/BOJ 문제정리

백준 11659번: 구간 합 구하기 4

KimCookieYa 2021. 8. 13. 23:50

https://www.acmicpc.net/problem/11659

[11659번: 구간 합 구하기 4

첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j

www.acmicpc.net](https://www.acmicpc.net/problem/11659)

0. 알고리즘 분류

누적 합

1. 문제

2. 풀이

https://blog.naver.com/kks227/220787178657 해당 블로그를 참고했다. 문제는 쉬웠다. cin과 cout을 써서 시간초과가 났던 것만 빼면..

3. 코드

#include <iostream>

using namespace std;

int a[100001];
int arr[1000002];

int main(void) {
    int n, m;
    scanf("%d %d", &n, &m);

    for (int i = 0; i < n; i++) {
        scanf("%d", a+i);
        arr[i+1] = arr[i] + a[i];
    }

    for (int i = 0; i < m; i++) {
        int s, e;
        scanf("%d %d", &s, &e);
        printf("%d\n", arr[e] - arr[s-1]);
    }

    return  0;
}