結果

問題 No.4 おもりと天秤
コンテスト
ユーザー mai
提出日時 2019-02-15 09:44:35
言語 Kuin
(KuinC++ v.2021.9.17)
コンパイル:
kuinc -i _filename_ -o out.cpp -s /kuin/sys/ -e cpp -r -q
実行:
./a.out
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 881 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,414 ms
コンパイル使用メモリ 169,152 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-05 14:33:43
合計ジャッジ時間 2,305 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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