結果

問題 No.91 赤、緑、青の石
ユーザー リチウム
提出日時 2014-12-07 20:39:00
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 1,569 bytes
コンパイル時間 3,112 ms
コンパイル使用メモリ 78,384 KB
実行使用メモリ 50,324 KB
最終ジャッジ日時 2024-06-11 17:04:24
合計ジャッジ時間 5,564 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 22 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;
import java.lang.Math.*;
public class ppp {
			
  public static void main(String[] args) {
	  MyScanner sc=new MyScanner();
	 int r=sc.nextInt();
	 int g=sc.nextInt();
	 int b=sc.nextInt();
	 int c[]={r,g,b};
	 Arrays.sort(c);
	 int ans=0;
	 do{
		ans+=c[0];
		c[2]-=c[0];
		c[1]-=c[0];
		c[0]-=c[0];
		int x=Math.min(c[1],(c[2]-c[1])/2);
		c[2]-=x*2;
		c[0]=x;
		ans+=c[0];
		c[2]-=c[0];
		c[1]-=c[0];
		c[0]-=c[0];
		Arrays.sort(c);
		if(c[1]>10000){
			c[2]-=5000;
			c[1]-=5000;
			c[0]+=5000;
		}
		else{
			if(c[2]-c[0]>2){
				c[2]-=2;
				c[0]++;
				Arrays.sort(c);
			}
		}
	 }while(c[0]!=0);
	 System.out.println(ans);
	 
	 
  }
}

class MyScanner {
	int nextInt() {
		try {
			int c = System.in.read();
			while (c != '-' && (c < '0' || '9' < c))
				c = System.in.read();
			if (c == '-')
				return -nextInt();
			int res = 0;
			do {
				res *= 10;
				res += c - '0';
				c = System.in.read();
			} while ('0' <= c && c <= '9');
			return res;
		} catch (Exception e) {
			return -1;
		}
	}

	double nextDouble() {
		return Double.parseDouble(next());
	}

	long nextLong() {
		return Long.parseLong(next());
	}

	String next() {
		try {
			StringBuilder res = new StringBuilder("");
			int c = System.in.read();
			while (Character.isWhitespace(c))
				c = System.in.read();
			do {
				res.append((char) c);
			} while (!Character.isWhitespace(c = System.in.read()));
			return res.toString();
		} catch (Exception e) {
			return null;
		}
	}
}
0