Контест Junior Типы и нулевые значения обновлено

Наименьший целый тип для суммы на Go

Условие

Даны n целых чисел. Найдите их сумму и наименьший знаковый тип Go из int8, int16, int32, int64, в который эта сумма помещается без переполнения.

Ввод: в первой строке n (1 ≤ n ≤ 10⁵), во второй n чисел, |aᵢ| ≤ 10¹².

Вывод: сумма и имя типа через пробел.

Пример

3
100 20 7
127 int8

Как подойти

Сложить в int64, затем по очереди сравнить с границами int8, int16, int32.

Подсказки: 2
  1. Какой тип выдержит 10⁵ × 10¹²?
  2. Границы есть в пакете math: math.MaxInt16 и т.п.

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

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

Термины по теме