[백준] Máquina de café (15051)(kotlin)
문제 설명
O novo prédio da Sociedade Brasileira de Computação (SBC) possui 3 andares. Em determinadas épocas do ano, os funcionários da SBC bebem muito café. Por conta disso, a presidência da SBC decidiu presentear os funcionários com uma nova máquina de expresso. Esta máquina deve ser instalada em um dos 3 andares, mas a instalação deve ser feita de forma que as pessoas não percam muito tempo subindo e descendo escadas.
Cada funcionário da SBC bebe 1 café expresso por dia. Ele precisa ir do andar onde trabalha até o andar onde está a máquina e voltar para seu posto de trabalho. Todo funcionário leva 1 minuto para subir ou descer um andar. Como a SBC se importa muito com a eficiência, ela quer posicionar a máquina de forma a minimizar o tempo total gasto subindo e descendo escadas.
Sua tarefa é ajudar a diretoria a posicionar a máquina de forma a minimizar o tempo total gasto pelos funcionários subindo e descendo escadas.
입력
A entrada consiste em 3 números, A1, A2, A3 (0 ≤ A1, A2, A3 ≤ 1000), um por linha, onde Ai representa o número de pessoas que trabalham no i-ésimo andar.
출력
Seu programa deve imprimir uma única linha, contendo o número total de minutos a serem gastos com o melhor posicionamento possível da máquina.
테스트 케이스
입력 | 출력 |
---|---|
10 20 30 |
80 |
10 30 20 |
60 |
30 10 20 |
100 |
문제 풀이1
import kotlin.math.absoluteValue
fun main(args: Array<String>) {
var stories = IntArray(3) { n }
val cost = Array<IntArray>(3) { coffee ->
IntArray(3) { i ->
stories[coffee] * 2 * (i - coffee).absoluteValue
}
}
println(
IntArray(3) { idx ->
cost.sumOf { it[idx] }
}.minByOrNull { it }
)
}
val n: Int
get() = readLine()?.toIntOrNull() ?: 0