[백준 11659번 C/C++] 구간 합 구하기 4
목차
[백준 11659번 C/C++] 구간 합 구하기 4
해결전략
sum[] 배열로 저장하지 않고 이중 for문을 사용하면 시간초과.
코드
방법1.
#include<stdio.h>
using namespace std;
int num[100001];
int sum[100001];
int main() {
int n, m;
scanf("%d %d", &n, &m);
for(int i=1; i<=n; i++){
scanf("%d", &num[i]);
sum[i]=sum[i-1]+num[i];
}
for(int i=1; i<=m; i++){
int a, b, result=0;
scanf("%d %d", &a, &b);
result=sum[b]-sum[a-1];
printf("%d\n", result);
}
return 0;
}
방법2.
#include<stdio.h>
using namespace std;
int main() {
int n, m;
scanf("%d %d", &n, &m);
int num[n+1];
int sum[n+1];
sum[0]=0;
for(int i=1; i<=n; i++){
scanf("%d", &num[i]);
sum[i]=sum[i-1]+num[i];
}
for(int i=1; i<=m; i++){
int a, b, result=0;
scanf("%d %d", &a, &b);
result=sum[b]-sum[a-1];
printf("%d\n", result);
}
return 0;
}
배열크기를 n+1로 지정해도 소요시간은 똑같다.
'⭐ 코딩테스트 > 백준' 카테고리의 다른 글
[백준 25192번 C/C++] 인사성 밝은 곰곰이 (0) | 2023.06.04 |
---|---|
[백준 1197번 C/C++] 최소 스패닝 트리 (0) | 2023.05.31 |
[백준 2908번 C/C++] 상수 (0) | 2023.05.29 |
[백준 10809번 C/C++] 알파벳 찾기 (0) | 2023.05.26 |
[백준 1976번 C/C++] 여행 가자 (0) | 2023.05.26 |
댓글
이 글 공유하기
다른 글
-
[백준 25192번 C/C++] 인사성 밝은 곰곰이
[백준 25192번 C/C++] 인사성 밝은 곰곰이
2023.06.04 -
[백준 1197번 C/C++] 최소 스패닝 트리
[백준 1197번 C/C++] 최소 스패닝 트리
2023.05.31 -
[백준 2908번 C/C++] 상수
[백준 2908번 C/C++] 상수
2023.05.29 -
[백준 10809번 C/C++] 알파벳 찾기
[백준 10809번 C/C++] 알파벳 찾기
2023.05.26