結果
| 問題 | 
                            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