module main; // https://kmjp.hatenablog.jp/entry/2014/12/08/0930 より // 二分探索 import std; int R, G, B; // v 個のアクセサリを作れるかどうか bool isOK(int v) { int surplus, deficiency; if (R >= v) surplus += (R - v) / 2; if (G >= v) surplus += (G - v) / 2; if (B >= v) surplus += (B - v) / 2; if (R < v) deficiency += v - R; if (G < v) deficiency += v - G; if (B < v) deficiency += v - B; return surplus >= deficiency; } void main() { // 入力 readln.chomp.formattedRead("%d %d %d", R, G, B); // 答えの計算 int l = 0, r = 10 ^^ 8; while (l + 1 < r) { int m = (l + r) / 2; if (isOK(m)) l = m; else r = m; } // 答えの出力 writeln(l); }