結果

問題 No.4 おもりと天秤
ユーザー mai
提出日時 2019-02-15 09:44:35
言語 Kuin
(KuinC++ v.2021.9.17)
結果
AC  
実行時間 3 ms / 5,000 ms
コード長 881 bytes
コンパイル時間 5,719 ms
コンパイル使用メモリ 148,644 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-16 09:41:58
合計ジャッジ時間 3,317 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

func main()

    var n: int
    var ww: []int
    
    var existed: bool
    var ww_str: [][]char
    
    do n :: cui@input().toInt(&existed)
    do ww_str :: cui@input().split(" ")
    
    do ww :: #[n]int
    
    for cnt(0, n-1)
        do ww[cnt]:: ww_str[cnt].toInt(&existed)
    end for
    
    var dp: []bool :: #[10001]bool
    
    do dp[0] :: true
    for i(0, n-1)
        var w : int :: ww[i]
        for c(10000, 0, -1)
            if (dp[c])
                do dp[c+w] :: true
            end if
        end for
    end for
    
    var sum: int :: 0
    for i(0, n-1)
        do sum :+ ww[i]
    end for
    
    {
    if (sum%2 = 1 | dp[sum/2] = false)
        do cui@print("impossible")
    else
        do cui@print("possible")
    end if
    }
    do cui@print(
    |   (sum%2 = 1 | dp[sum/2] = false)
    |   ?("impossible", "possible")
    | )
    
end func
0