Codepowers(26007๋ฒ)
Silver 2
# ๋์ ํฉ
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
๊ฐ ์ฟผ๋ฆฌ๋ ์์ ๋ผ์ด๋(ํฌํจ), ์ข ๋ฃ ๋ผ์ด๋(๋ฏธํฌํจ)์ ์ฌ์ด์ ์งํ๋ ๋ผ์ด๋๋ง๋ค์ ํ์ฌ ๋ ์ดํ ์ ๊ตฌํด์ k๋ณด๋ค ๋ฎ์ ๋ ์ดํ ์ ๊ฐ์๋ฅผ ๊ตฌํด์ ์ถ๋ ฅํ๋ฉด ๋๋ค.
๋ฌธ์ ๋ด์ฉ์ ๋จ์ํ์ง๋ง ์ silver 2์ฉ์ด๋ ๋ฐ์๋์ง ์๊ฐํด๋ด์ผ ํ๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.StringTokenizer
fun main() {
val bf = BufferedReader(InputStreamReader(System.`in`))
// n: round, x: ์ด๊ธฐ ๋ ์ดํ
, m: ์ฟผ๋ฆฌ์ ๊ฐ์, k: ๋ฎ์ ๋ ์ดํ
๊ธฐ์ค์
val (n, m, k, x) = bf.readLine().split(" ").map { it.toInt() }
val a = StringTokenizer(bf.readLine())
val rating = Array(n + 1) { 0 }
var score = x
rating[0] = if (score < k) 1 else 0
for (i in 1 until rating.size) {
score += a.nextToken().toInt()
rating[i] = if (score < k) rating[i - 1] + 1 else rating[i - 1]
}
val answer = StringBuilder()
for (i in 0 until m) {
val (l, r) = bf.readLine().split(" ").map { it.toInt() }
answer.append("${rating[r - 1] - rating[l - 1]}\n")
}
println(answer)
}
๋ฌธ์ ํ์ด
score๋ฅผ a์ ์ ๋ ฅ๊ฐ๊ณผ ๋ํด์ ๋ผ์ด๋ ์งํ ํ์ rating์ ๊ตฌํ๊ณ , ๋ฐ๋ก rating array๋ฅผ ๋ง๋ค์ด 1๋ผ์ด๋๋ถํฐ i๋ผ์ด๋๊น์ง k๋ณด๋ค ์์ ๋ ์ดํ ์ด ์๋ ๋ผ์ด๋์ ๊ฐ์๋ฅผ ์ธ์ค๋ค.
k๋ณด๋ค ์์ผ๋ฉด ์ด์ ๊ฐ์ 1์ ๋ํ๊ณ ์๋๋ฉด ์ด์ ๊ฐ์ ๊ฐ์ ธ์จ๋ค.
๋ค์์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์ ๋ ฅ๋ฐ์ l ๋ผ์ด๋๋ถํฐ r ๋ผ์ด๋ ์ง์ ๊น์ง์ rating์ด k๋ณด๋ค ์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ rating์ r - 1๋ฒ์งธ index์ l - 1๋ฒ์งธ index๋ฅผ ๋นผ๋ฉด ๊ตฌํ ์ ์๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
๊ธฐ์กด์๋ rating์ ๊ฐ๊ฐ์ ๋ผ์ด๋ ์ข ๋ฃ ํ์ rating์ ์ ์ฅํด ์ฃผ๊ณ , ์ฟผ๋ฆฌ์์ l ๋ฒ๋ถํฐ r๋ฒ๊น์ง์ index๋ฅผ for๋ก ํ์ํด ๊ฐ์๋ฅผ ๊ตฌํด์ฃผ์๋ค.
ํ์ง๋ง ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค.
์์ฒ๋ผ ๋จ์ํ๊ฒ ๊ตฌํ์ ํ๋ฉด ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค.
๋์ ํฉ์ ์ด์ฉํด ์ฃผ์.
rating์ 0๋ฒ์งธ ๊ฐ์ ํ์ฌ x๊ฐ k๋ณด๋ค ์์ผ๋ฉด 1, ์๋๋ฉด 0์ด๋ค.
๊ทธ๋ค์์ 1๋ฒ์งธ index๋ถํฐ๋ ๊ฐฑ์ ๋ score๊ฐ์ด k๋ณด๋ค ์์ผ๋ฉด ์ด์ ๊ฐ์ 1์ ๋ํด์ ๋ฃ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด์ ๊ฐ์ ๊ฐ์ ธ์จ๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, S2] ๋ฐฑ์ค 1780๋ฒ ์ข ์ด์ ๊ฐ์ (0) | 2024.12.18 |
---|---|
[Kotlin, S3] ๋ฐฑ์ค 32186๋ฒ ์ญ์ ๋ด ์ด์ธ๊ณ ์์ด์ ์๋ชป๋๋ค (0) | 2024.12.18 |
[Kotlin, S4] ๋ฐฑ์ค 2090๋ฒ ์กฐํํ๊ท (3) | 2024.11.25 |
[Kotlin, S4] ๋ฐฑ์ค 16471๋ฒ ์์ ์ ๋ด๊ธฐ (0) | 2024.11.17 |
[Kotlin, S5] ๋ฐฑ์ค 11116๋ฒ ๊ตํต๋ (0) | 2024.11.15 |