結果
問題 |
No.91 赤、緑、青の石
|
ユーザー |
|
提出日時 | 2015-03-01 14:26:00 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 740 bytes |
コンパイル時間 | 506 ms |
コンパイル使用メモリ | 57,952 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-07 03:31:14 |
合計ジャッジ時間 | 1,514 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 WA * 2 |
ソースコード
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; int main() { int r, g, b; cin >> r >> g >> b; int made = min({r, g, b}); int ans = 0; r -= made; g -= made; b -= made; ans += made; int x, y; if (r == 0) { x = g; y = b; } else { x = r; y = max(g, b); } if (x < y) { swap(x, y); } // x 3, y 1 で作る int diff = x - y; made = min(diff / 2, y); ans += made; x -= made * 3; y -= made; if (y == 0) { // x 5, y 0 で作る made = x / 5; x -= made * 5; } else { // (x 3, y 1) (x 1, y 3) の組み合わせで作る made = x / 4 * 2; x -= made * 2; y -= made * 2; if (x >= 3 && y >= 1) { made++; } } ans += made; cout << ans << endl; return 0; }