코딩하기 좋은날
백준 11441 합 구하기 본문
반응형
문제와 채점은 위 사이트에서 확인 하실 수 있습니다.
이 문제는 숫자 들을 입력받고 입력받은 범위 까지의 합을 출력하는 문제입니다.
배열의 n번째 인덱스에 처음부터 n번째 까지의 합을 저장 하고 i부터 j까지의 범위가 주어지면 j번째 값에서 i-1번째 값을 빼 주면 범위의 합을 구할 수 있습니다.
코드입니다.
#include <iostream>
#include <cstdio>
using namespace std;
int main(void) {
int N,M;
scanf("%d", &N);
int arr[N];
int i,j;
for(int i = 0; i < N; i++) { //배열에 처음부터 i번째 인덱스까지 의 합들을 저장한다.
int x;
scanf("%d",&x);
if(i == 0)
arr[i] = x;
else
arr[i] = x + arr[i-1];
}
scanf("%d", &M);
while(M) {
scanf("%d %d", &i, &j);
if(i == 1)
printf("%d\n",arr[j-1]); // i가 1이면 그냥 인덱스 출력
else
printf("%d\n",arr[j-1] - arr[i-2]); //i가 1보다 크면 j-1에서 i-2 번째 값을 빼주면 된다.
M--;
}
return 0;
}
반응형
'백준(Baekjoon) 문제' 카테고리의 다른 글
백준 1427 소트인사이드 (0) | 2019.01.15 |
---|---|
백준 10986 나머지 합 (0) | 2019.01.15 |
백준 3052 나머지 (0) | 2019.01.14 |
백준 2953 나는 요리사다. (0) | 2019.01.14 |
백준 9322 철벽 보안 알고리즘 (1) | 2019.01.14 |