문제
코드
fun main() = with(System.`in`.bufferedReader()) {
val n = readLine().toInt()
var minDp = LongArray(101){Long.MAX_VALUE}
minDp[2] = 1
minDp[3] = 7
minDp[4] = 4
minDp[5] = 2
minDp[6] = 6
minDp[7] = 8
minDp[8] = 10
val add = arrayOf("1","7","4","2","0","8")
for(i in 9..100){
for(j in 2..7){
var cur = minDp[i-j].toString() + add[j-2]
minDp[i] = Math.min(minDp[i],cur.toLong())
}
}
repeat(n){
val sb= StringBuilder()
val num =readLine().toLong()
val a = num/2
val b= num%2
when(b){
0L -> sb.append(1)
1L -> sb.append(7)
}
for(i in 1 until a){
sb.append(1)
}
println("${minDp[num.toInt()]} ${sb.toString()}")
}
}