結果
| 問題 | 
                            No.91 赤、緑、青の石
                             | 
                    
| コンテスト | |
| ユーザー | 
                             fjafjafja
                         | 
                    
| 提出日時 | 2017-10-03 22:45:45 | 
| 言語 | Java  (openjdk 23)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 224 ms / 5,000 ms | 
| コード長 | 762 bytes | 
| コンパイル時間 | 3,443 ms | 
| コンパイル使用メモリ | 77,472 KB | 
| 実行使用メモリ | 54,752 KB | 
| 最終ジャッジ日時 | 2024-06-24 07:11:01 | 
| 合計ジャッジ時間 | 9,765 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 28 | 
ソースコード
import java.util.Scanner;
public class N091 {
	static int[] s;
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		s=new int[3];
		for(int i=0;i<3;i++){
			s[i]=sc.nextInt();
		}
		int cnt=0;
		suply();
		while(s[0]>=1&&s[1]>=1&&s[2]>=1){
			for(int i=0;i<3;i++){
				s[i]--;
			}
			cnt++;
			suply();
		}
		System.out.println(cnt);
	}
	static void suply(){
		if((s[0]>=1&&s[1]>=1&&s[2]>=1)){
			return;
		}
		int max=0;
		int maxi=0;
		int min=Integer.MAX_VALUE;
		int mini=0;
		int cnt=0;
		while(!(s[0]>=1&&s[1]>=1&&s[2]>=1)&&cnt<3){
			for(int i=0;i<3;i++){
				if(s[i]>=max){
					max=s[i];
					maxi=i;
				}
				if(s[i]<=min){
					min=s[i];
					mini=i;
				}
			}
			s[maxi]-=2;s[mini]+=1;
			cnt++;
		}
		return;
	}
}
            
            
            
        
            
fjafjafja