結果
問題 | No.91 赤、緑、青の石 |
ユーザー |
![]() |
提出日時 | 2014-12-07 22:43:07 |
言語 | D (dmd 2.109.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 772 bytes |
コンパイル時間 | 815 ms |
コンパイル使用メモリ | 106,928 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-12 01:46:17 |
合計ジャッジ時間 | 7,606 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 25 WA * 3 |
ソースコード
import std.stdio, std.conv, std.math, std.string, std.range, std.array, std.algorithm; void main(){ int[] buf = readln().strip().split().map!(to!int)().array(); int ans = buf.reduce!min(); buf[] -= ans; for(;;) { int maxs, maxp; foreach(immutable int i; 0 .. 3) { if(maxs < buf[i]) { maxs = buf[i]; maxp = i; } } if(maxs < 3) { break; } else if(maxs == 3 || maxs == 4) { if(buf.reduce!"a + b" - maxs == 0) { break; } else { buf = buf.map!"max(a-1, 0)"().array(); buf[maxp] -= 2; ++ ans; } } else { buf = buf.map!"max(a-1, 0)"().array(); buf[maxp] -= 2; ++ ans; } } writeln(ans); }