結果

問題 No.688 E869120 and Constructing Array 2
コンテスト
ユーザー 💕💖💞
提出日時 2018-06-06 23:29:36
言語 Kotlin
(2.3.20)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
AC  
実行時間 213 ms / 1,000 ms
コード長 716 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 10,367 ms
コンパイル使用メモリ 472,712 KB
実行使用メモリ 53,764 KB
最終ジャッジ日時 2026-05-14 19:07:53
合計ジャッジ時間 13,349 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 10
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

data class Data(val one:Int, val zero:Int, val result:Int)
fun main(args:Array<String>) {
  // build matrix
  val b = mutableListOf<Data>( Data(0,0,0), Data(1,0,0)  )

  (0..30).map { zero ->
    (2..30).map { one ->
      if( one + zero <= 30 )
        b.add( Data( one, zero, one*(one-1)/2 * (0..zero).map {2}.reduce { y,x -> x*y }/2 ) )
    }
  }

  val m = b.map { data ->
    val result = data.result
    val value =  Pair(data.one, data.zero)
    Pair(result, value)
  }.toMap()

  val k = readLine()!!.toInt()
  val (one, zero) = m[k]!!
  val re = mutableListOf<Int>(); (1..one).map { re.add(1) }; (1..zero).map { re.add(0) }
  re.size.let(::println)
  re.map(Int::toString).joinToString(" ").let(::println)
}
0