#664함수로 배열의 부분합 리턴하기
기초
⏱ 시간 제한: 5초|💾 메모리 제한: 128 MB
문제 설명
배열의 참조 범위([a, b], a번부터 ~ b번까지 범위, 폐구간 [a, b])를 입력 받아 그 범위의 부분합을 출력하세요.
단, 함수형 문제이므로 함수 subsetsum()만 작성하여 제출하시오.
예를 들어 1 ~ n번으로 구성된 배열 1 5 3 4 2 에서 폐구간 [2, 4]의 부분합을 계산하면 5+3+4=12 가 된다.
미리 작성된 코드
아래 코드에서 주석 위치에 함수를 작성하여 제출하세요.
C 언어
c
#include
int n, a, b, d[1010];
/* 여기에 함수를 작성하세요 */
int main()
{scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d%d", &a, &b);
printf("%lld\n", subsetsum(a, b));}Python
python
# 여기에 함수를 작성하세요
n = int(input())
d = [0] + list(map(int, input().split()))
a, b = map(int, input().split())
print(subsetsum(d, a, b))입력 설명
첫 줄에 데이터의 개수(n)가 입력된다. 두 번째 줄에 n개의 데이터(ki)가 공백을 두고 입력된다. 세 번째 줄에 부분합을 수행할 시작 번호와 마지막 번호가 공백을 두고 입력된다. (1 <= a <= b <= n <= 1000) (-2147483648 <= ki <= 2147483647)
출력 설명
입력된 데이터 배열의 [a, b] 구간의 부분합을 출력합니다.
예제
입력 1
5 1 5 3 4 2 2 4
출력 1
12
입력 2
3 10 20 30 1 3
출력 2
60