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