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