[λ°±μ€] 13305.μ£Όμ μ/Python - Silver3
βλ¬Έμ
https://www.acmicpc.net/problem/13305
λ©λͺ¨λ¦¬: 46228 KB, μκ°: 112 ms
μ΄λ€ λλΌμ 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μμ΄λ€.
κ° λμμ μλ μ£Όμ μμ κΈ°λ¦ κ°κ²©κ³Ό, κ° λμλ₯Ό μ°κ²°νλ λλ‘μ κΈΈμ΄λ₯Ό μ
λ ₯μΌλ‘ λ°μ μ μΌ μΌμͺ½ λμμμ μ μΌ μ€λ₯Έμͺ½ λμλ‘ μ΄λνλ μ΅μμ λΉμ©μ κ³μ°νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
βπ»νμ΄
μ°λ¦¬λ μ μΌ μ€λ₯Έμͺ½ λμκΉμ§ κ°λ λ° μ΅μ λΉμ©μΌλ‘ μ£Όμ ν΄μΌ νλ€.
μ μΌ μΌμͺ½ λμμ μ£Όμ μμ κ°κ²©μ΄ μ΅μκ°μ΄λΌκ³ μκ°νμ λ μ΄ 30μ΄ λμ¨λ€.
λͺ¨λ κ²½μ°λ₯Ό κ³ λ €νμ¬ κ³μ°νμ λ 5x2 + 2x(3+1)μΌ λκ° 18λ‘ κ°μ₯ μ λ€.
μ΄λνκΈ° μν΄μλ 첫 μ£Όμ μμμλ 무쑰건 μ£Όμ λ₯Ό ν΄μΌ νλ€. κ·Έλ¬λ―λ‘ dp[0]μ 첫 μ£Όμ μ κ°κ²© * λλ‘ κΈΈμ΄μ΄λ€.
κ·Έ λ€μ μ£Όμ μμμλ μ΄μ μ£Όμ μ κ°κ²©κ³Ό λΉκ΅νμ λ μ΅μ κ°κ²©μ κ³¨λΌ κ³μ°νλ€.
μ΄μ μ£Όμ μλ 5μ΄κ³ νμ¬ λμμ μ£Όμ μλ 2μ΄λ€. κ·Έλ¬λ―λ‘ 2λ₯Ό ννλ€.
κ·Έ λ€μ λμλ 4λ‘ μ΄μ λμμ κ°κ²©μ΄ λ μ λ€. λ°λΌμ 2x1μ λνλ€.
μ΄ κ°μ λ°©λ²μΌλ‘ κ°μ₯ μ€λ₯Έμͺ½ λμμ λμ°©ν λκΉμ§ μ΅μ κ°κ²© * λλ‘ κΈΈμ΄λ₯Ό νμ¬ μ΅μ λΉμ©μ ꡬνλ€.
π»μ½λ
# μλΈνμ€ν¬ 1 μ±κ³΅(μ΄μ μ£Όμ μμ κ°κ²©νκ³ λ§ λΉκ΅)
import sys
input = sys.stdin.readline
n = int(input())
lengths = list(map(int, input().split()))
prices = list(map(int, input().split()))
dp = [0] * (n - 1)
dp[0] = lengths[0] * prices[0]
for i in range(1, n - 1):
dp[i] = dp[i - 1] + min(lengths[i] * prices[i], lengths[i] * prices[i - 1])
print(dp[n - 2])
# μ λ΅ μ½λ
import sys
input = sys.stdin.readline
n = int(input())
lengths = list(map(int, input().split()))
prices = list(map(int, input().split()))
dp = [0] * (n - 1)
dp[0] = lengths[0] * prices[0]
minCost = prices[0]
for i in range(1, n - 1):
if minCost > prices[i]:
minCost = prices[i]
dp[i] = dp[i - 1] + minCost * lengths[i]
print(dp[n - 2])
πνκΈ°
κ²½μ°μ μλ₯Ό λ°μ Έλκ³ μ΄μ μ£Όμ μμ κ°κ²©νκ³ λ§ λΉκ΅νμ¬ μλΈνμ€ν¬ 1λ§ ν΅κ³Όνλ€. μ£Όμ΄μ§ ν μ€νΈ μΌμ΄μ€λ₯Ό 보μμ λ κ²°κ³Όκ° κ°μμ λ§λ€κ³ μκ°νμ§λ§ μ½λλ₯Ό λ€μ 보λ κ²½μ°μ μλ₯Ό μ λλ‘ κ³ λ €νμ§ λͺ»νλ€λ κ²μ κΉ¨λ¬μλ€. μ λ° λ¬Έμ μ λλ‘ μ½κ³ μ¬λ¬ λ² μκ°νμπ