[λ°±μ€ 16917λ²] μλ λ° νλΌμ΄λ λ° - μλ°μ€ν¬λ¦½νΈ(nodejs)
https://www.acmicpc.net/problem/16917
16917λ²: μλ λ° νλΌμ΄λ λ°
νμ§ μΉν¨μμ ν맀νλ μΉν¨μ μλ μΉν¨, νλΌμ΄λ μΉν¨, λ°λ° μΉν¨μΌλ‘ μ΄ μΈ μ’ λ₯μ΄λ€. λ°λ° μΉν¨μ μ λ°μ μλ μΉν¨, μ λ°μ νλΌμ΄λ μΉν¨μΌλ‘ μ΄λ£¨μ΄μ Έμλ€. μλ μΉν¨ ν λ§λ¦¬μ κ°κ²©μ
www.acmicpc.net
const fs = require('fs');
let input = fs
.readFileSync('dev/stdin')
.toString()
.trim()
.split(' ')
.map((v) => +v);
let [seasoning, fried, half, seasoningCount, friedCount] = input;
let answer = 0;
let min = Math.min(seasoningCount, friedCount);
if (seasoning + fried > half * 2) {
answer += min * half * 2;
seasoningCount -= min;
friedCount -= min;
if (seasoningCount !== 0) {
if (seasoning > half * 2) {
answer += half * 2 * seasoningCount;
} else {
answer += seasoning * seasoningCount;
}
}
if (friedCount !== 0) {
if (fried > half * 2) {
answer += half * 2 * friedCount;
} else {
answer += fried * friedCount;
}
}
} else {
answer += seasoningCount * seasoning;
answer += friedCount * fried;
}
console.log(answer);
λΈλ£¨νΈν¬μ€ λ¬Έμ μ΄λ€.
μ°μ (μλ λ°+νλΌμ΄λλ°) * 2 μ μλ 1 + νλΌμ΄λ1 μ κ°μ λ¨Όμ λΉκ΅νλ€.
μ μκ° λ μΈλ€λ©΄ μ΅μ μλ νλΌμ΄λ κ°μμμ μμ κ°μ λ§νΌ λ°λ³΅ν΄ κ°κ²©μ λν΄μ€λ€.
κ·Έ ν (μλ λ°+νλΌμ΄λλ°) * 2μ κ°κ²©μ΄ μλ 1 λ³΄λ€ μΌ μ§ νμΈνλ€. μ΅μ κ°μμ΄λ―λ‘ κ°μκ° λμ΄λ μκ΄μλ€.
μΈλ€λ©΄ λ°λ°μΌλ‘ λλ¨Έμ§ κ°μλ₯Ό μ±μ°κ³ νλΌμ΄λλ λκ°μ΄ ν΄μ€λ€.
(μλ λ°+νλΌμ΄λλ°) * 2 μ μλ 1 + νλΌμ΄λ1μμ νμκ° μΈλ€λ©΄ κ·Έλ₯ μ΅μ κ°μλ§νΌ κ°κ° κ³±ν΄μ£Όλ©΄ λλλ€.
μ΄ λ¬Έμ μ ν΅μ¬μ (μλ λ°+νλΌμ΄λλ°) * 2μ κ°κ²©μ΄ μλ 1 or νλΌμ΄λ1λ³΄λ€ μΌ μ§ νμΈνλ κ²μ΄μλ€.