728x90
13305 : [그리λ μκ³ λ¦¬μ¦] μ£Όμ μ
μκ° μ ν: 2 Sec λ©λͺ¨λ¦¬ μ ν: 512 MB
13305λ²: μ£Όμ μ
νμ€ μ λ ₯μΌλ‘ λ€μ μ λ³΄κ° μ£Όμ΄μ§λ€. 첫 λ²μ§Έ μ€μλ λμμ κ°μλ₯Ό λνλ΄λ μ μ N(2 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λ€μ μ€μλ μΈμ ν λ λμλ₯Ό μ°κ²°νλ λλ‘μ κΈΈμ΄κ° μ μΌ μΌμͺ½ λλ‘λΆν° N-1
www.acmicpc.net
λ¬Έμ μ€λͺ
μ΄λ€ λλΌμ Nκ°μ λμκ° μλ€. μ΄ λμλ€μ μΌμ§μ λλ‘ μμ μλ€. νΈμμ μΌμ§μ μ μν λ°©ν₯μΌλ‘ λμ. μ μΌ μΌμͺ½μ λμμμ μ μΌ μ€λ₯Έμͺ½μ λμλ‘ μλμ°¨λ₯Ό μ΄μ©νμ¬ μ΄λνλ €κ³ νλ€. μΈμ ν λ λμ μ¬μ΄μ λλ‘λ€μ μλ‘ κΈΈμ΄κ° λ€λ₯Ό μ μλ€. λλ‘ κΈΈμ΄μ λ¨μλ kmλ₯Ό μ¬μ©νλ€.
μ²μ μΆλ°ν λ μλμ°¨μλ κΈ°λ¦μ΄ μμ΄μ μ£Όμ μμμ κΈ°λ¦μ λ£κ³ μΆλ°νμ¬μΌ νλ€. κΈ°λ¦ν΅μ ν¬κΈ°λ 무μ νμ΄μ΄μ μΌλ§λ μ§ λ§μ κΈ°λ¦μ λ£μ μ μλ€. λλ‘λ₯Ό μ΄μ©νμ¬ μ΄λν λ 1kmλ§λ€ 1리ν°μ κΈ°λ¦μ μ¬μ©νλ€. κ° λμμλ λ¨ νλμ μ£Όμ μκ° μμΌλ©°, λμ λ§λ€ μ£Όμ μμ 리ν°λΉ κ°κ²©μ λ€λ₯Ό μ μλ€. κ°κ²©μ λ¨μλ μμ μ¬μ©νλ€.
μλ₯Ό λ€μ΄, μ΄ λλΌμ λ€μ κ·Έλ¦Όμ²λΌ 4κ°μ λμκ° μλ€κ³ νμ. μ μμ μλ μ«μλ κ·Έ λμμ μλ μ£Όμ μμ 리ν°λΉ κ°κ²©μ΄λ€. λλ‘ μμ μλ μ«μλ λλ‘μ κΈΈμ΄λ₯Ό νμν κ²μ΄λ€.
μ μΌ μΌμͺ½ λμμμ 6리ν°μ κΈ°λ¦μ λ£κ³ , λ μ΄μμ μ£Όμ μμ΄ μ μΌ μ€λ₯Έμͺ½ λμκΉμ§ μ΄λνλ©΄ μ΄ λΉμ©μ 30μμ΄λ€. λ§μ½ μ μΌ μΌμͺ½ λμμμ 2리ν°μ κΈ°λ¦μ λ£κ³ (2×5 = 10μ) λ€μ λ² λμκΉμ§ μ΄λν ν 3리ν°μ κΈ°λ¦μ λ£κ³ (3×2 = 6μ) λ€μ λμμμ 1리ν°μ κΈ°λ¦μ λ£μ΄(1×4 = 4μ) μ μΌ μ€λ₯Έμͺ½ λμλ‘ μ΄λνλ©΄, μ΄ λΉμ©μ 20μμ΄λ€. λ λ€λ₯Έ λ°©λ²μΌλ‘ μ μΌ μΌμͺ½ λμμμ 2리ν°μ κΈ°λ¦μ λ£κ³ (2×5 = 10μ) λ€μ λ² λμκΉμ§ μ΄λν ν 4리ν°μ κΈ°λ¦μ λ£κ³ (4×2 = 8μ) μ μΌ μ€λ₯Έμͺ½ λμκΉμ§ μ΄λνλ©΄, μ΄ λΉμ©μ 18μμ΄λ€.
κ° λμμ μλ μ£Όμ μμ κΈ°λ¦ κ°κ²©κ³Ό, κ° λμλ₯Ό μ°κ²°νλ λλ‘μ κΈΈμ΄λ₯Ό μ λ ₯μΌλ‘ λ°μ μ μΌ μΌμͺ½ λμμμ μ μΌ μ€λ₯Έμͺ½ λμλ‘ μ΄λνλ μ΅μμ λΉμ©μ κ³μ°νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
νμ€ μ λ ₯μΌλ‘ λ€μ μ λ³΄κ° μ£Όμ΄μ§λ€. 첫 λ²μ§Έ μ€μλ λμμ κ°μλ₯Ό λνλ΄λ μ μ N(2 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λ€μ μ€μλ μΈμ ν λ λμλ₯Ό μ°κ²°νλ λλ‘μ κΈΈμ΄κ° μ μΌ μΌμͺ½ λλ‘λΆν° N-1κ°μ μμ°μλ‘ μ£Όμ΄μ§λ€. λ€μ μ€μλ μ£Όμ μμ 리ν°λΉ κ°κ²©μ΄ μ μΌ μΌμͺ½ λμλΆν° μμλλ‘ Nκ°μ μμ°μλ‘ μ£Όμ΄μ§λ€. μ μΌ μΌμͺ½ λμλΆν° μ μΌ μ€λ₯Έμͺ½ λμκΉμ§μ 거리λ 1μ΄μ 1,000,000,000 μ΄νμ μμ°μμ΄λ€. 리ν°λΉ κ°κ²©μ 1 μ΄μ 1,000,000,000 μ΄νμ μμ°μμ΄λ€.
μΆλ ₯
νμ€ μΆλ ₯μΌλ‘ μ μΌ μΌμͺ½ λμμμ μ μΌ μ€λ₯Έμͺ½ λμλ‘ κ°λ μ΅μ λΉμ©μ μΆλ ₯νλ€.
μ λ ₯ μμ 1
4
2 3 1
5 2 4 1
μΆλ ₯ μμ 1
18
μ λ ₯ μμ 2
4
3 3 4
1 1 1 1
μΆλ ₯ μμ 2
10
My μ½λ
# μ μμ μ«μ: 리ν°λΉ κ°κ²©
# λλ‘ μ μ«μ: λλ‘ κΈΈμ΄
# 1km λΉ 1L μ¬μ©
# N: λμμ κ°μ
N = int(input())
dist = list(map(int, input().split())) # κ° λλ‘ κ±°λ¦¬ (N-1 κ°)
oil = list(map(int, input().split())) # κ° λμμ 리ν°λΉ μ£Όμ κ°κ²©(μ)
# μ΅μ λΉμ© μ΄κΈ°κ°: μ μΌ μΌμͺ½ λμμμ κ·Έ λ€μ λμλ‘λ§ κ°λλ° λλ μ£Όμ κ°κ²©
cost = dist[0] * oil[0]
# μ§λμ¨ λμλ€ μ€ μ μΌ μΌ μ£Όμ κ°κ²© λ³μ μ΄κΈ°κ°: μ μΌ μΌμͺ½ λμ μ£Όμ κ°κ²©
min_oil = oil[0]
# λλ²μ§Έ λμλΆν° λ§μ§λ§ λμκΉμ§ κ°λ λμ
# min_oil λ³΄λ€ μΌ μ£Όμ κ°κ²©μ΄ λμ¨λ€λ©΄
# κ·Έ κ°κ²©μΌλ‘ λΉμ© μΆκ° and min_oil κ° κ°±μ
for i in range(1, N - 1):
if oil[i] < min_oil:
cost += dist[i] * oil[i]
min_oil = oil[i]
else:
cost += dist[i] * min_oil
# μ΅μ λΉμ© μΆλ ₯
print(cost)
728x90
λκΈ