public static void solve ( int [ ] numbers ) {
  Arrays . sort ( numbers ) ;
  if ( numbers [ 2 ] >= numbers [ 0 ] + numbers [ 1 ] ) System . out . println ( numbers [ 0 ] + numbers [ 1 ] ) ;
  else System . out . println ( ( int ) Math . floor ( ( double ) ( numbers [ 0 ] + numbers [ 1 ] + numbers [ 2 ] ) / 2 ) ) ;
}

public static void solve ( int [ ] numbers ) { Arrays . sort ( numbers ) ; if ( numbers [ 2 ] >= numbers [ 0 ] + numbers [ 1 ] ) System . out . println ( numbers [ 0 ] + numbers [ 1 ] ) ; else System . out . println ( ( int ) Math . floor ( ( double ) ( numbers [ 0 ] + numbers [ 1 ] + numbers [ 2 ] ) / 2 ) ) ; }
(method_declaration (modifiers) type: (void_type) name: (identifier) parameters: (formal_parameters (formal_parameter type: (array_type element: (integral_type) dimensions: (dimensions)) name: (identifier))) body: (block (expression_statement (method_invocation object: (identifier) name: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (array_access array: (identifier) index: (decimal_integer_literal)) right: (binary_expression left: (array_access array: (identifier) index: (decimal_integer_literal)) right: (array_access array: (identifier) index: (decimal_integer_literal))))) consequence: (expression_statement (method_invocation object: (field_access object: (identifier) field: (identifier)) name: (identifier) arguments: (argument_list (binary_expression left: (array_access array: (identifier) index: (decimal_integer_literal)) right: (array_access array: (identifier) index: (decimal_integer_literal)))))) alternative: (expression_statement (method_invocation object: (field_access object: (identifier) field: (identifier)) name: (identifier) arguments: (argument_list (cast_expression type: (integral_type) value: (method_invocation object: (identifier) name: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (floating_point_type) value: (parenthesized_expression (binary_expression left: (binary_expression left: (array_access array: (identifier) index: (decimal_integer_literal)) right: (array_access array: (identifier) index: (decimal_integer_literal))) right: (array_access array: (identifier) index: (decimal_integer_literal))))) right: (decimal_integer_literal)))))))))))