Контест Junior Шаблоны и концепты обновлено

Обобщённая функция статистики для чисел и строк

Условие

Дано q наборов значений: либо целые числа, либо строки. Для набора чисел выведите минимум, максимум и сумму. Для набора строк минимум и максимум в лексикографическом порядке (по кодам символов) и суммарную длину.

Напишите одну шаблонную функцию template <class T> Stats<T> stats(const std::vector<T>&) с минимумом и максимумом, а различие (сумма или длина) сделайте через if constexpr.

Ввод: q (1 ≤ q ≤ 200). Каждый набор: строка int n или str n (1 ≤ n ≤ 100), затем строка из n значений. Числа по модулю до 10¹⁶, строки из латинских букв до 6 символов.

Вывод: q строк min max x, где x сумма чисел или суммарная длина строк.

Пример 1

Ввод:

2
int 3
5 -2 7
str 3
banana Apple cherry

Вывод:

-2 7 10
Apple cherry 17

Пример 2

Ввод:

1
int 1
-10000000000000000

Вывод:

-10000000000000000 -10000000000000000 -10000000000000000

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.