結果

問題 No.4 おもりと天秤
ユーザー tnoda_tnoda_
提出日時 2015-02-04 20:28:52
言語 Scala(Beta)
(3.3.1)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 581 bytes
コンパイル時間 6,569 ms
コンパイル使用メモリ 228,108 KB
最終ジャッジ日時 2023-09-11 07:47:27
合計ジャッジ時間 7,030 ms
ジャッジサーバーID
(参考情報)
judge11 / judge13
このコードへのチャレンジ(β)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
-- [E100] Syntax Error: Main.scala:24:14 ---------------------------------------
24 |  out.println(solve)
   |              ^^^^^
   |             method solve in object Main must be called with () argument
   |
   | longer explanation available when compiling with `-explain`
1 error found

ソースコード

diff #

import java.io.PrintWriter
import java.util.Scanner
import scala.annotation.tailrec

object Main extends App {
  val sc = new Scanner(System.in)
  val out = new PrintWriter(System.out)
  
  def solve(): String = {
    val N = sc.nextInt
    val W = Array.fill(N)(sc.nextInt)
    val MaxW = 10010
    val dp = Array.ofDim[Boolean](MaxW)
    dp(0) = true
    for (i <- 0 until N)
      for (j <- 0 until MaxW - W(i) if dp(j))
        dp(j+W(i)) = true

    val sum = W.sum
    if (sum % 2 == 0 && dp(sum/2)) "possible"
    else "impossible"
  }
  
  out.println(solve)
  out.flush
}
0