Рассматриваются все пары элементов последовательности, разность которых
Условие
Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности, разность которых чётна, и в этих парах, по крайней мере, одно из чисел пары делится на 17. Порядок элементов в паре неважен. Среди всех таких пар нужно найти и вывести пару с максимальной суммой элементов. Если одинаковую максимальную сумму имеет несколько пар, можно вывести любую из них. Если подходящих пар в последовательности нет, нужно вывести два нуля.
Входные данные.
Файл AФайл BВ первой строке входных данных задаётся количество чисел N (2 ≤ N ≤ 10 000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000.Пример организации исходных данных во входном файле:53412515251Пример выходных данных для приведённого выше примера входных данных:51 51 В ответе укажите четыре числа: сначала значение искомой пары для файла А (два числа через пробел), затем для файла B (два числа через пробел). Числа пар впишите в порядке убывания. Ответ: Пояснение. Из данных пяти чисел можно составить три различные пары, удовлетворяющие условию: (34, 12), (34, 52), (51, 51). Наибольшая сумма получается в паре (51, 51). Эта пара допустима, так как число 51 встречается в исходной последовательности дважды.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение задачи на языке Pascal.var N: integer; a: integer; i: integer; max: array [0..1] of integer; max17: array [0..1] of integer; f: text;beginmax[0] := 0; max[1] := 0; max17[0] := 0; max17[1] := 0;assign(f,'27991_A.txt');reset(f);readln(f, n);for i := 1 to n do begin readln(f, a); if (a mod 17 =
Осталось ещё 9 шагов
and (a >= max17[0]) then begin if max17[0] >…
and (a >= max17[1]) then begin if max17[1] >…
and (a > max[0]) then max[0] := a else if (a…
and (a > max[1]) then max[1] := a; end; if…
then begin max[0] := 0; max17[0] := 0; end…
then begin max[1] := 0; max17[1] := 0; end…
Примечание. Путь к файлу необходимо указать…
= 0 then ctg := ctg+2;if ctg > 1 then second…
== 0 and (a[i] - m) % 2 == 0: print(m, a[i])…
Бесплатно · займёт минуту