-
[Algo RhythmπΊπ]BOJ 13458 - μνκ°λAlgo RhythmπΊπ/BOJ 2021. 3. 9. 16:53
λ¬Έμ λΆμ
μνμ₯μ κ°μλ₯Ό N(1 ≤ N ≤ 1,000,000), iλ²μ§Έ μνμ₯μ μλ μμμμ μλ₯Ό Ai(1 ≤ Ai ≤ 1,000,000) , μ΄κ°λ κ΄κ³Ό λΆκ°λ κ΄μ΄ ν μνμ₯μμ κ°μν μ μλ μμμμ μλ₯Ό κ°κ° B, C(1 ≤ B, C ≤ 1,000,000)λΌκ³ νμ.
κ·Έλ¦¬κ³ iλ²μ§Έ μνμ₯μ λ€μ΄κ°μΌ νλ μ΄κ°λ κ΄κ³Ό λΆκ°λ κ΄μ μλ₯Ό κ°κ° $n\_main_i$, $n\_sub_i$λΌκ³ νμ.
μ΄κ°λ κ΄μ κ° μνμ₯μ 무쑰건 ν λͺ λ€μ΄κ°μΌ νκ³ λΆκ°λ κ΄μ μκ±°λ μ¬λ¬ λͺ μμ΄λ λλ€. λ°λΌμ iλ²μ§Έ μνμ₯μμ νμν κ°λ κ΄ μμ μ΅μκ°μ μλ λΆλ±μμ λ§μ‘±νλ κ°μ₯ μμ $n\_sub_i$λ₯Ό ꡬνλ κ²κ³Ό κ°λ€.
$B\ +\ C \times n\_sub_i\ \ge A_i$
μ΄λ₯Ό ν΅ν΄ μ°λ¦¬κ° μ΅μ’ μ μΌλ‘ ꡬν΄μΌ νλ λ΅μ μλμ κ°λ€λ κ²μ μ μ μλ€. (μ΄μ λ λͺ¨λ₯΄κ² μ§λ§ μμμ΄ μ΄μνκ² λμ΅λλ€. μ νν μμμ μλ μλ³Έλ¬Έμλ₯Ό μ°Έκ³ νμΈμ!)
$ans\ = \sum_{i=1}^N\ n\sub_i$ + $\sum{i=1}^N\ n\_main_i$
λ¬Έμ νμ΄
λ¬Έμ λΆμμμ λμΆν λΆλ±μμ μ΄ννλ©΄ μλμ κ°λ€.
$n\_sub_i\ \ge\ (A_i\ -\ B)\ /\ C$
μ΄ λΆλ±μμ λ§μ‘±νλ κ°μ₯ μμ $n\_sub_i$λ₯Ό ꡬνκΈ° μν΄μλ $(A_i\ - \ B)$μ $C$μ κ΄κ³μ λν΄ μκ°ν νμκ° μλ€. $(A_i\ - \ B)$λ iλ²μ§Έ μνμ₯μμ μ΄κ°λ κ΄μ΄ κ°λ νλ μμμμ μλ₯Ό μ μΈν λλ¨Έμ§ μμμλ€μ μ μ¦, λΆκ°λ κ΄μ΄ κ°λ ν΄μΌ νλ μμμλ€μ μλ₯Ό μλ―Ένλ€.
μ§κ΄μ μΌλ‘ μκ°ν λ λΆκ°λ κ΄μ μλ $(A_i\ - \ B)\ /\ C$ μμ μ μ μλ€. νμ§λ§ μ μκ°ν΄λ³΄λ©΄ λΆκ°λ κ΄μ΄ κ°λ ν΄μΌ νλ μμμλ€μ μμ λΆκ°λ κ΄μ μκ° λλμ΄ λ¨μ΄μ§μ§ μλ κ²½μ°λ μλ€λ κ²μ μ μ μλ€. κ·Έλ° κ²½μ°μ λΆκ°λ κ΄μ μλ $(A_i\ - \ B)\ /\ C + 1$μ΄λ€. μ΄λ₯Ό psuedo codeλ‘ νννλ©΄ μλμ κ°λ€.
$if\ (A_i\ -\ B)\,\bmod\,C\ \ne\ 0,\ n\_sub_i\ =\ (A_i\ -\ B)\ /\ C\ + 1$
$else,\ n\_sub_i\ = (A_i - B)\ /\ C$
μ΄λ λ κ°μ§ μμΈμν©μ΄ μλ€. λ¨Όμ $A_i - B = 0$μΈ κ²½μ° μ¦, μ΄κ°λ κ΄ 1λͺ λ§μΌλ‘ μνμλ€μ λͺ¨λ κ°λ ν μ μλ κ²½μ°μ΄λ€. μ΄λ $n\_sub_i = 0$μ΄λ€.
λλ²μ§Έλ $A_i - B < 0$μΈ κ²½μ° μ¦, iλ²μ§Έ μνμ₯μ μμμ μκ° μ΄κ°λ κ΄μ΄ κ°λ ν μ μλ μΈμλ³΄λ€ μ μ κ²½μ°μ΄λ€. μ΄λλ λ§μ°¬κ°μ§λ‘ $n\_sub_i = 0$μ΄λ€.
1λ²μ§ΈλΆν° nλ²μ§Έ μνμ₯κΉμ§ μννλ©° $n\_sub$λ€μ ν©μ ꡬνκ³ μ΄λ₯Ό $n\_main$μ ν©κ³Ό λνλ©΄ νμν κ°λ κ΄μ μ΅μκ°μ ꡬν μ μλ€.
볡μ‘λ λΆμ
μνμ₯μ κ°μλ₯Ό Nμ΄λΌκ³ ν λ μκ°λ³΅μ‘λμ 곡κ°λ³΅μ‘λλ μλμ κ°λ€.
μκ° λ³΅μ‘λ : $O(N)$ - κ° μνμ₯μ μννλ©° $\sum_{i=1}^N\ n\_sub_i$μ ꡬνκΈ° λλ¬Έμ
κ³΅κ° λ³΅μ‘λ : $O(N)$ - nκ°μ μνμ₯μ μμμμλ₯Ό λͺ¨λ 벑ν°μ μ μ₯νκΈ° λλ¬Έμ
μ½λ
λ¬Έμ μΆμ² λ° μλ³Έλ¬Έμ
13458λ²: μν κ°λ
첫째 μ€μ μνμ₯μ κ°μ N(1 ≤ N ≤ 1,000,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€μλ κ° μνμ₯μ μλ μμμμ μ Ai (1 ≤ Ai ≤ 1,000,000)κ° μ£Όμ΄μ§λ€. μ μ§Έ μ€μλ Bμ Cκ° μ£Όμ΄μ§λ€. (1 ≤ B, C ≤ 1,000,000)
www.acmicpc.net
www.notion.so/BOJ-13458-32f0acec8416417cb00d2a0a387a36cb
BOJ 13458 - μνκ°λ
λ¬Έμ λΆμ
www.notion.so
'Algo RhythmπΊπ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Algo RhythmπΊπ]BOJ 1620 - μ μ νλ΄2 (0) 2021.03.12 [Algo RhythmπΊπ]BOJ 14501 - ν΄μ¬ (0) 2021.03.11 [Algo RhythmπΊπ] BOJ 16288. Passport Control (0) 2020.09.03 [Algo RhythmπΊπ] BOJ 17528. Two Machines (0) 2020.08.26 [Algo RhythmπΊπ] BOJ 17626. Four Squares (0) 2020.08.24