結果
問題 | No.91 赤、緑、青の石 |
ユーザー |
![]() |
提出日時 | 2014-12-07 22:48:51 |
言語 | D (dmd 2.109.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 772 bytes |
コンパイル時間 | 907 ms |
コンパイル使用メモリ | 107,016 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-12 01:46:40 |
合計ジャッジ時間 | 5,780 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 4 WA * 24 |
ソースコード
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] -= 4; ++ ans; } } writeln(ans); }