結果
問題 |
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 |
ソースコード
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; } } }