結果
問題 |
No.91 赤、緑、青の石
|
ユーザー |
|
提出日時 | 2019-04-03 01:25:38 |
言語 | Kuin (KuinC++ v.2021.9.17) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 709 bytes |
コンパイル時間 | 5,545 ms |
コンパイル使用メモリ | 148,496 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-24 07:19:10 |
合計ジャッジ時間 | 6,490 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 28 |
ソースコード
func main() var _: [][]char :: cui@input().split(" ") var R: int :: _[0].toInt(&) var G: int :: _[1].toInt(&) var B: int :: _[2].toInt(&) var ans: int :: [R, G, B].min() do R :- ans do G :- ans do B :- ans var sum: int :: R + G + B var n1: int :: [R, G, B].max() var n2: int :: sum - n1 var ok: int :: 0 var ng: int :: n1 while(ng - ok > 1) var md: int :: (ok + ng) / 2 var f: bool if(md >= n2) var mdd: int :: md do mdd :- n2 do f :: (n1 - 3 * n2 >= 5 * mdd) else var n22: int :: n2 - md var n11: int :: n1 - md do f :: (n11 / 2 + n22 / 2 >= md) end if if(f) do ok :: md else do ng :: md end if end while do ans :+ ok do cui@print("\{ans}\n") end func