{В текстовом файле записан набор натуральных чисел, не превышающих 10^9. Гарантируется, что все числа различны. Необходимо определить, сколько в наборе таких пар чётных чисел, что их среднее арифметическое тоже присутствует в файле, и чему равно наибольшее из средних арифметических таких пар. Первая строка входного файла содержит целое число N — общее количество чисел в наборе. Каждая из следующих N строк содержит одно число. В ответе запишите два целых числа: сначала количество пар, затем наибольшее среднее арифметическое.} // Вывод : 15 и 976339247 program p27; uses SysUtils, DateUtils; const NM = 5000; type TArray = array[1..NM] of integer; var n, k, t, s: integer; ar : TArray; count_pair : integer; max_average : integer; average : integer; //Для замера времени выполнения t0, t1 : TDateTime; time_execution : real; procedure input_data(var ar: TArray; var n: integer); var k: integer; f: text; begin Assign(f, '26.txt'); Reset(f); readln(f, n); assert((0 <= n) and (n <= NM)); for k := 1 to n do begin readln(f, ar[k]); assert ((0 < ar[k]) and (ar[k] <= 1000000000)); end; Close(f); end; // Обычная сортировка procedure bsort(var ar: TArray; n: integer); var i, j, jmax : integer; t : integer; begin for i := 1 to n do begin jmax := n - i; for j := 1 to jmax do begin if (ar[j] > ar[j + 1]) then begin t := ar[j + 1]; ar[j + 1] := ar[j]; ar[j] := t; end; end; end; end; begin t0 := Now; input_data(ar, n); bsort(ar, n); max_average := 0; count_pair := 0; for k := 1 to n do begin if (ar[k] mod 2 <> 0) then continue; s := k + 1; for t := k + 1 to n do begin if (ar[t] mod 2 <> 0) then continue; average := (ar[t] + ar[k]) div 2; while (ar[s] < average) do inc(s); if (ar[s] = average) then begin inc(count_pair); if (average > max_average) then max_average := average; end; end; end; t1 := Now; time_execution := MillisecondsBetween(t0, t1) * 1e-3; writeln('N = ', N); writeln(' Количество пар из четных чисел, ср.ариф. которых есть в наборе: ', count_pair); writeln(' Наибольшее среднее арифметическое: ', max_average); writeln; writeln('Время выполнения = ', time_execution:8:3, ' сек'); end.