Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var arr: array[0..65535] of integer; // КАК я хотел бы использовать динамический массив...
- // Но нет, паскаль не разрешает легко имплеминтировать динамику.
- var tmp1, k, i1, i2, b, c: integer;
- var sum: longint;
- begin
- k := 0;
- read(tmp1);
- while (tmp1<>1001) do begin
- arr[k] := tmp1;
- read(tmp1); // Считываем значение и записываем в массив, что бы потом перебирать их.
- k := k + 1;
- end;
- sum := 0;
- for i1 := 0 to k - 1 do begin // Перебор всех индексов массива. Пусть i1 будет отвечать за индекс коэфф. b
- // k - 1 необходимо, потому что k это длина массива, а не самый последний индекс.
- // Самый последний индекс это k - 1.
- b := arr[i1];
- for i2 := 0 to k - 1 do begin // Перебор всех индексов массива. Пусть i2 будет отвечать за индекс коэфф. с
- if (i1 <> i2) then begin // В условии сказано, что нужно 2 числа из последовательности =>
- // они не должны быть одинаковыми по индексу.
- c := arr[i2];
- if (sum < b*b-2*c) then // Если мы нашли сумму, которая больше, чем предыдущая самая большая сумма,
- // теперь это самая большая сумма.
- sum := b*b-2*c; // Нас просят найти только самую большую сумму,
- // а не числа, которые составляют эту сумму, так что их можно не запоминать.
- end;
- end;
- end;
- writeln(sum); // Вывод ответа.
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement