-
[λ°±μ€] 20444 μμ’ μ΄μ κ°μ with PythonPS 2022. 5. 18. 02:13728x90λ°μν
π BOJ 20444 μμ’ μ΄μ κ°μ
π‘ 쑰건
- μμ’
μ΄λ₯Ό μλ₯Ό λλ λ€μκ³Ό κ°μ κ·μΉμ λ°λ₯Έλ€.
- μμ’ μ΄λ μ§μ¬κ°νμ΄λ©°, μμ’ μ΄λ₯Ό μλ₯Ό λλ ν λ³μ νννκ² μλ₯Έλ€.
- μλ₯΄κΈ° μμνμΌλ©΄, κ²½λ‘ μμ λͺ¨λ μμ’ μ΄λ₯Ό μλ₯Ό λκΉμ§ λ©μΆμ§ μλλ€.
- μ΄λ―Έ μλ₯Έ κ³³μ λ μλ₯Ό μ μλ€.
νλμ μμ’ μ΄λ₯Ό μ νν nλ²μ κ°μμ§λ‘ kκ°μ μμ’ μ΄ μ‘°κ°μΌλ‘ λ§λ€ μ μλμ§ κΆκΈν΄μ‘λ€.
μ μ n, kκ° μ£Όμ΄μ§λ€. (1 β€ n β€ 231-1, 1 β€ k β€ 263-1)
nλ²μ κ°μμ§λ‘ kκ°μ μμ’ μ΄ μ‘°κ°μ λ§λ€ μ μλ€λ©΄ YES, μλλΌλ©΄ NOλ₯Ό μΆλ ₯νλ€.
μ΄λΆ νμ μ νμ λ¬Έμ
π₯ μμ€ μ½λ
import sys input = sys.stdin.readline n, k = map(int, input().split()) def f(x): return (x + 1) * (n - x + 1) lo, hi = 0, n // 2 + 1 while lo != hi: mid = (lo + hi) // 2 data = f(mid) if data == k: print("YES") sys.exit(0) if data > k: hi = mid else: lo = mid + 1 print("NO")
π μμ λ° μ€νκ²°κ³Ό
μμ
4 9
μ€νκ²°κ³Ό
YES
β¨οΈ λ¬Έμ νμ΄
μ’ μ΄λ₯Ό κ°λ‘λ‘ aλ², μΈλ‘λ‘ bλ² μλ₯Έλ€κ³ νλ©΄, (a + 1) * (b + 1) κ°λ‘ μλ¦°λ€.
μ΄ λ¬Έμ μμλ μ΄ nλ² μλ₯΄κΈΈ μνκ³ , κ°λ‘μ μΈλ‘λ₯Ό κ°κ° λͺ λ² μλ₯΄λμ§μ λ°λΌ κ°μλ λ¬λΌμ§λ€.
n = a + b μ΄λ€.
b = n - a λΌκ³ ν μ μλ€.(a + 1) * (b + 1) μμ bλ₯Ό λμ νλ©΄, (a + 1) * (n - a + 1) κ°λ‘ λ°λλ€.
nμ λ²μκ° (2 ** 31 - 1) κΉμ§μ΄κΈ°μ νλνλ μ°Ύμλ³Ό μ μκ³ , μ΄λΆνμμ μ¬μ©ν΄μΌνλ€.
λν 0 μμ n // 2 κΉμ§λ§ νμμ ν΄μ£Όλ©΄ λλ€.
λ°μν'PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 17204 μ£½μμ κ²μ with Python (0) 2022.05.19 [λ°±μ€] 22252 μ 보 μμΈ νΈμ with Python (0) 2022.05.18 [λ°±μ€] 20440 π΅λκ° μ«μ΄ μ«μ΄ λ무 μ«μ΄ μ«μ΄ μ€μ§ λ§ λ΄κ² μ°μ©λμ§λ§π΅ - 1 with Python (0) 2022.05.17 [λ°±μ€] 20436 ZOAC 3 with Python (0) 2022.05.17 [λ°±μ€] 20114 λ―Έμ λ ΈνΈ with Python (0) 2022.05.15 - μμ’
μ΄λ₯Ό μλ₯Ό λλ λ€μκ³Ό κ°μ κ·μΉμ λ°λ₯Έλ€.