Задача
Иван Васильевич пришел на рынок и решил купить два арбуза: один для себя, а другой для тещи. Понятно, что для себя нужно выбрать арбуз потяжелей, а для тещи полегче. Но вот незадача: арбузов слишком много и он не знает, как же выбрать самый легкий и самый тяжелый арбуз. Помогите ему!
Входные данные
В первой строке задано количество арбузов $n$ $(n ≤ 30000)$. Вторая строка содержит $n$ чисел, каждое из которых задает массу соответствующего арбуза. Все массы арбузов натуральные и не превышают $30000$.
Выходные данные
Вывести два числа: массу арбуза, который Иван Васильевич купит теще, и массу арбуза, который он купит себе, или вывести сообщение «$Ooops!$» (без кавычек), если кто-то останется без арбуза.
Тесты
# | ВХОДНЫЕ ДАННЫЕ | ВЫХОДНЫЕ ДАННЫЕ |
---|---|---|
1 | 5 3 5 8 4 6 |
$3$ $8$ |
2 | 8 6 12 9 5 8 15 7 10 |
$5$ $15$ |
3 | 1 10 |
$Ooops!$ |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <iostream> using namespace std; int main() { int n,min,max,x; cin >> n; if (n<2) cout << "Ooops!"; else { cin >> min; max=min; for (int i=0; i<n-1; i++) { cin >> x; if (x<min) min=x; if (x>max) max=x; } cout << min << " " << max; } return 0; } |
Решение задачи
Из потока данных, где $n$ чисел найдём минимальное и максимальное число. Если $n<2$, то кто-то останется без арбуза, поэтому выведем «$Ooops!$» (без кавычек).
Удивительно! Код полностью совпал с другим, которому уже несколько лет. Бывают же странные совпадения…
Я зачел, но мне кажется более разумным сначала прочесть одно значение, которое и использовать для инициализации минимума и максимума.