https://www.acmicpc.net/problem/27210
27210λ²: μ μ λͺ¨μλ μ¬λΉ
μΉ ν μ μλ λμμ κ°μμ μ νμ μμΌλ©°, λ°λμ μ°μν(μΈμ ν) λμλ€λ§ μΉ ν μ μμ(λμλμ μΉ ν μ μμ)μ μ μνλΌ.
www.acmicpc.net
μν°λ μΌλ―Έλμ½λ 3νμ°¨ λ¬Έμ μ€ νμ΄μλ κ°μ₯ 짧μ μκ°μ΄ λ€μμ§λ§, μ½λκ° κ°μ₯ μμ μλ λ¬Έμ μ΄λ€.
μ°μ , λμμ΄ μΌμͺ½μ λ³΄κ³ μμ λλ λμ κ°μ 1μ λν΄μ£Όκ³ , λμμ΄ μ€λ₯Έμͺ½μ λ³΄κ³ μμ λλ 1μ λΉΌμ£Όλ λ°©μμΌλ‘ λμ κ°(curr λ³μ)μ κ³μ°νλ€.
μμλ₯Ό νλ λ§λ€μ΄λ³΄μλ©΄, λμ κ°μ μλμ κ°μ΄ κ³μ°ν μ μλ€.
μΈλ±μ€ : 0 1 2 3 4 5 6 7 8 9 10
λ°© ν₯ : μΌ μ€ μΌ μΌ μ€ μ€ μ€ μ€ μ€ μΌ
λμ κ° : 0 1 0 1 2 1 0 -1 -2 -3 -2
μ΄ λμ κ°μ μ΄μ©ν΄μ aλ² λμλΆν° bλ² λμκΉμ§μ κΉ¨λ¬μμ μμ ꡬν μ μλ€.
1λ² λμμ κΉ¨λ¬μμ μμ abs(λμ κ°[1] - λμ κ°[0])μΈ 1μ΄λ€. (μΌ)
2~4λ² λμμ κΉ¨λ¬μμ μμ abs(λμ κ°[4] - λμ κ°[1])μΈ 1μ΄λ€. (μ€μΌμΌ == μΌμ€μΌμΌ - μΌ)
8~10λ² λμμ κΉ¨λ¬μμ μμ abs(λμ κ°[10] - λμ κ°[7])μΈ 1μ΄λ€. (μ€μ€μΌ == μΌμ€μΌμΌμ€μ€μ€μ€μΌ - μΌμ€μΌμΌμ€μ€μ€)
μ΄κ±Έ νμ©ν΄μ κΉ¨λ¬μμ μ΅λκ°λ ꡬν μ μλ€.
κ³μ°μ νΈνκ² νκΈ° μν΄ μ§κΈκΉμ§μ λμ κ°μ μ΅λκ°(max_sum)κ³Ό μ΅μκ°(min_sum)λ κ³μ°ν΄ μ€λ€.
μΈλ±μ€ : 0 1 2 3 4 5 6 7 8 9 10
λ°© ν₯ : μΌ μ€ μΌ μΌ μ€ μ€ μ€ μ€ μ€ μΌ
λμ κ° : 0 1 0 1 2 1 0 -1 -2 -3 -2
--------------------------------------------
μ΅ λ : 0 1 1 1 2 2 2 2 2 2 2
μ΅ μ : 0 1 0 0 0 0 0 -1 -2 -3 -3
--------------------------------------------
κΉ¨λ¬μ : 0 1 1 2 1 2 3 4 5 4
μ§κΈ λμμ ν¬ν¨μμΌ κΈμΉ μ νμ λ κΉ¨λ¬μμ μ΅λκ°μ abs(max_sum - curr), abs(curr - min_sum)μ μ΅λκ°μ΄λ€.
μμμμ μ λ΅μ κΉ¨λ¬μμ΄ 5κ° λλλ‘ 5λ² μμ ~ 9λ² μμμ μΉ νλ κ²½μ°μ΄λ€...
N = int(input())
stones = list(map(int, input().split()))
curr, answer = 0, 0 # μ§κΈκΉμ§ λμ κ° / κΉ¨λ¬μμ μ΅λκ°
min_sum, max_sum = 0, 0 # μ§κΈκΉμ§ λμ κ°μ μ΅μκ°, μ΅λκ°
for stone in stones:
if stone == 1: # μΌμͺ½λ³΄λ λμ
curr += 1
elif stone == 2: # μ€λ₯Έμͺ½ 보λ λμ
curr -= 1
# μ΅λ κΉ¨λ¬μ κ°±μ
answer = max(answer, abs(curr - min_sum))
answer = max(answer, abs(max_sum - curr))
# μ΅μκ°, μ΅λκ° κ°±μ
min_sum = min(min_sum, curr)
max_sum = max(max_sum, curr)
print(answer)
κ°λ μ μΌλ‘λ λμ ν©μ μκ°νκ³ νμκ³ , λμ ν©μ΄λΌκ³ μκ°νλλ°... μ΄κ² λμ ν©μ΄ μλ μλ μκ³ ....
μ€νμ μ λ§λ€μλ€ λΏμ΄μ§ λΉμ·ν λ°©λ²μΌλ‘ μ€ν νμ΄λ κ°λ₯ν κ² κ°λ€. μλ μλ μκ³ ...
'λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°±μ€ 27211 λλ νμ± - νμ΄μ¬ (0) | 2023.01.14 |
---|---|
λ°±μ€ 27212 λ―Έν - νμ΄μ¬ (4) | 2023.01.14 |
λ°±μ€ 1002 ν°λ - νμ΄μ¬ (2) | 2022.12.30 |
λ°±μ€ 7785 νμ¬μ μλ μ¬λ - νμ΄μ¬ (0) | 2022.12.29 |
λ°±μ€ 2839 μ€ν λ°°λ¬ - νμ΄μ¬ (0) | 2022.12.29 |