2512λ²: μμ°
첫째 μ€μλ μ§λ°©μ μλ₯Ό μλ―Ένλ μ μ Nμ΄ μ£Όμ΄μ§λ€. Nμ 3 μ΄μ 10,000 μ΄νμ΄λ€. λ€μ μ€μλ κ° μ§λ°©μ μμ°μμ²μ νννλ Nκ°μ μ μκ° λΉμΉΈμ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. μ΄ κ°λ€μ λͺ¨λ 1 μ΄μ
www.acmicpc.net
λ¬Έμ
κ΅κ°μ μν μ€ νλλ μ¬λ¬ μ§λ°©μ μμ°μμ²μ μ¬μ¬νμ¬ κ΅κ°μ μμ°μ λΆλ°°νλ κ²μ΄λ€. κ΅κ°μμ°μ μ΄μ‘μ 미리 μ ν΄μ Έ μμ΄μ λͺ¨λ μμ°μμ²μ λ°°μ ν΄ μ£ΌκΈ°λ μ΄λ €μΈ μλ μλ€. κ·Έλμ μ ν΄μ§ μ΄μ‘ μ΄νμμ κ°λ₯ν ν μ΅λμ μ΄ μμ°μ λ€μκ³Ό κ°μ λ°©λ²μΌλ‘ λ°°μ νλ€.
- λͺ¨λ μμ²μ΄ λ°°μ λ μ μλ κ²½μ°μλ μμ²ν κΈμ‘μ κ·Έλλ‘ λ°°μ νλ€.
- λͺ¨λ μμ²μ΄ λ°°μ λ μ μλ κ²½μ°μλ νΉμ ν μ μ μνμ‘μ κ³μ°νμ¬ κ·Έ μ΄μμΈ μμ°μμ²μλ λͺ¨λ μνμ‘μ λ°°μ νλ€. μνμ‘ μ΄νμ μμ°μμ²μ λν΄μλ μμ²ν κΈμ‘μ κ·Έλλ‘ λ°°μ νλ€.
μλ₯Ό λ€μ΄, μ 체 κ΅κ°μμ°μ΄ 485μ΄κ³ 4κ° μ§λ°©μ μμ°μμ²μ΄ κ°κ° 120, 110, 140, 150μ΄λΌκ³ νμ. μ΄ κ²½μ°, μνμ‘μ 127λ‘ μ‘μΌλ©΄, μμ μμ²λ€μ λν΄μ κ°κ° 120, 110, 127, 127μ λ°°μ νκ³ κ·Έ ν©μ΄ 484λ‘ κ°λ₯ν μ΅λκ° λλ€.
μ¬λ¬ μ§λ°©μ μμ°μμ²κ³Ό κ΅κ°μμ°μ μ΄μ‘μ΄ μ£Όμ΄μ‘μ λ, μμ 쑰건μ λͺ¨λ λ§μ‘±νλλ‘ μμ°μ λ°°μ νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μλ μ§λ°©μ μλ₯Ό μλ―Ένλ μ μ Nμ΄ μ£Όμ΄μ§λ€. Nμ 3 μ΄μ 10,000 μ΄νμ΄λ€. λ€μ μ€μλ κ° μ§λ°©μ μμ°μμ²μ νννλ Nκ°μ μ μκ° λΉμΉΈμ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. μ΄ κ°λ€μ λͺ¨λ 1 μ΄μ 100,000 μ΄νμ΄λ€. κ·Έ λ€μ μ€μλ μ΄ μμ°μ λνλ΄λ μ μ Mμ΄ μ£Όμ΄μ§λ€. Mμ N μ΄μ 1,000,000,000 μ΄νμ΄λ€.
μΆλ ₯
첫째 μ€μλ λ°°μ λ μμ°λ€ μ€ μ΅λκ°μΈ μ μλ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯
4
120 110 140 150
485
μμ μΆλ ₯
127
μ€λͺ
λ¬Έμ λ κΈΈμ§λ§ μ¬μ€μ λ³ κ±° μλ€. μ΄μμ°(M)μ λμ§ μλλ‘ Nκ°μ μ§λ°©μ μ μ ν μμ°μ λΆλ°°νλ©΄ λλ€.
νμ΄
μ΄λΆνμμ μ΄μ©νλ€.
Solution
N = int(input())
n = list(map(int, input().split()))
M = int(input())
s = 0
e = max(n)
#μ΄λΆνμ
while s <= e:
r = 0 #ν©ν κ²°κ³Ό νμΈνκΈ° μν λ³μ
m = (s + e) // 2 #μ€κ°
for i in n:
if m <= i: #μμ° μμ²κ°λ³΄λ€ μνμ‘ μ΄νμΈ κ²μ μνμ‘ λ°°μ
r += m
else: #μμ° μμ²κ°λ³΄λ€ μνμ‘ μ΄μμΈ κ²μ μμ²ν κΈμ‘ κ·Έλλ‘ λ°°μ
r += i
if r <= M: #ν©ν κ²°κ³Όκ° μ΄ μμ° μ΄νμ΄λ©΄
result = m #μ΅λκ°μ μ°ΎκΈ° μν΄ κ²°κ³Όμ μ€κ°κ°μ κ°±μ
s = m + 1 #μνμ‘μ λ ν΄λ λλκΉ μμ°μ λ λλ¦Ό
else:
e = m - 1
print(result)'π§© Algorithm > [BOJ] Silver' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| BOJ 1026λ² : 보물 (Python/Silver 4) (0) | 2023.02.19 |
|---|---|
| BOJ 2606λ² : λ°μ΄λ¬μ€ (C++, Python/Silver 3) (0) | 2023.02.19 |
| BOJ 2581λ² : μμ (Python/Silver 5) (0) | 2023.02.09 |
| BOJ 2869λ² : λ¬ν½μ΄λ μ¬λΌκ°κ³ μΆλ€ (Python/Silver 5) (0) | 2022.11.02 |
| BOJ 1676λ² : ν©ν λ¦¬μΌ 0μ κ°μ (Python/Silver 5) (0) | 2022.11.01 |