[백준] 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