11659번: 구간 합 구하기 4백준/문제2023. 8. 11. 13:09
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/11659
언어 : Kotlin
문제 설명 :
수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오.
- 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다.
- 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 256MB
- 1 ≤ N ≤ 100,000
- 1 ≤ M ≤ 100,000
- 1 ≤ i ≤ j ≤ N
입출력 예 :
입력 | 출력 |
5 3 5 4 3 2 1 1 3 2 4 5 5 |
12 9 1 |
풀이 :
import java.io.*
import java.util.StringTokenizer
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val (n, m) = br.readLine().split(" ").map { it.toInt() }
val arr = IntArray(n + 1) { 0 }
StringTokenizer(br.readLine()).run { for (i in 1 .. n) { arr[i] = arr[i - 1] + nextToken().toInt() } }
repeat(m) {
val (i, j) = br.readLine().split(" ").map { it.toInt() }
bw.appendLine("${arr[j] - arr[i - 1]}")
}
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
11726번: 2xn 타일링 (0) | 2023.08.14 |
---|---|
17626번: Four Squares (0) | 2023.08.11 |
9461번: 파도반 수열 (0) | 2023.08.10 |
2606번: 바이러스 (0) | 2023.08.10 |
9095번: 1, 2, 3 더하기 (0) | 2023.08.09 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!