結果

問題 No.91 赤、緑、青の石
ユーザー spacia
提出日時 2016-01-10 05:18:21
言語 Java
(openjdk 23)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 1,202 bytes
コンパイル時間 2,556 ms
コンパイル使用メモリ 77,876 KB
実行使用メモリ 50,592 KB
最終ジャッジ日時 2024-10-07 06:47:15
合計ジャッジ時間 5,317 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 24 WA * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.io.*;
import java.util.*;

class Main {
	
	public static void out (Object o) {
		System.out.println(o);
	}
	
	public static int solve (int[] prob) {
		//out(Arrays.toString(prob));
		if (prob[2] == 0) return 0;
		if (prob[1] == 0) return prob[2] / 5;
		if (prob[0] == 0) {
			if (prob[1] == prob[2]) {
				int m = prob[1] % 4;
				int n = prob[1] / 4 * 2;
				return m == 3 ? n + 1 : n;
			} else if (prob[2] - prob[1] != 1) {
				if (prob[2] % 2 != prob[1] % 2) {
					prob[2] -= 2;
					prob[1]++;
				}
				prob[0] = Math.min((prob[2] - prob[1]) / 2 , prob[1]);
				prob[2] -= prob[0] * 2;
				Arrays.sort(prob);
				return solve(prob);
			} else {
				return prob[2] / 2;
			}
		} else {
			int ret = prob[0];
			prob[1] -= prob[0];
			prob[2] -= prob[0];
			prob[0] = 0;
			return ret + solve(prob);
		}
	}
	
	public static void main (String[] args) throws IOException {
		BufferedReader br = 
			new BufferedReader(new InputStreamReader(System.in));
		
		String[] line = br.readLine().split(" ");
		int r = Integer.parseInt(line[0]);
		int g = Integer.parseInt(line[1]);
		int b = Integer.parseInt(line[2]);
		int[] prob = {r , g , b};
		
		Arrays.sort(prob);
		out(solve(prob));
	}
}
0