11371. Галерея

 

Казак Ус работает в галерее, ему поручили задание – построить самую высокую башню из ваз.

У него есть три вазы с высотами a, b, c. Но, вот беда, если поставить три вазы друг на друга, – такая конструкция быстро разобьется. Казак может выбрать две вазы и поставить их друг на друга. Он хочет получить самую высокую композицию из ваз.

Найдите максимальную высоту, которую он может достичь.

 

Вход. Первая строка содержит три целых числа a, b, c (1 ≤ a, b, c ≤ 108).

 

Выход. Выведите одно целое число – максимальную высоту композиции, удовлетворяющей условию.

 

Примечание. В первом примере можем взять первую и вторую вазу. Высота композиции будет 7 + 4 = 11.

Во втором примере можем взять вторую и третью вазы. Высота композиции будет 2 + 6 = 8. Также можно взять первую вазу вместо второй.

 

Пример входа 1

Пример выхода 1

7 4 3

11

 

 

Пример входа 2

Пример выхода 2

2 2 6

8

 

 

РЕШЕНИЕ

условный оператор

 

Анализ алгоритма

В задаче следует вычислить максимум среди трех значений: a + b, b + c и a + c. Отметим, что

max(a + b, b + c, a + c) = a + b + c – min(a, b, c)

 

Реализация алгоритма

Читаем входные данные.

 

scanf("%d %d %d", &a, &b, &c);

 

Вычисляем res = max(a + b, b + c, a + c).

 

res = a + b;

if (a + c > res) res = a + c;

if (b + c > res) res = b + c;

 

Выводим ответ.

 

printf("%d\n", res);

 

Java реализация

 

import java.util.*;

 

class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int a = con.nextInt();

    int b = con.nextInt();

    int c = con.nextInt();

    int res = a + b;

    if (a + c > res) res = a + c;

    if (b + c > res) res = b + c;

    System.out.println(res);

    con.close();

  }

}

 

Python реализация

 

a, b, c = map(int,input().split())

res = a + b

if a + c > res: res = a + c

if b + c > res: res = b + c

print(res)