Задача В. Мінімальна відстань Назва вхідного файлу: standard input Назва вихідного файлу: standard output Ліміт часу: 0.25 seconds Ліміт використання пам'яті: 256 megabytes Назвемо відстаню між двома значеннями масиву рідницю індексів j — і, (i < ј). Задається масив цілих чисел а. Знайдіть мінімальну відстань між будь-якою парою однакових елементів у цьому масиві. Якщо таких елементів не існує, то вивести -1. Формат вхідних даних Перший рядок вхідного потоку містить ціле число п (1 < n < 103) - кількість елементів масиву а. Другий рядок містить елементи масиву а (1 Ка; < 10°), які розділяються пропуском. Формат вихідних даних У вихідний потік вивести шукану мінімальну відстань або -1. пайтон
var t: real;
i: integer;
begin
WriteLn('Введите стоимость 1 кг конфет (в рублях): ');
Read(t);
for i := 1 to 10 do
WriteLn('Стоимость ', i, ' кг конфет: ', i*t);
end.
Смысл такой: - цена 1 кг конфет (вещественный тип real)
- счетчик, который будет увеличиваться на единицу после каждого выполнения тела цикла .
WriteLn() выводит на экран строку, которая заключена в кавычки. Не забываем ставить точку с запятой после операций.
Read(t) дает вам возможность вписать, сколько стоит килограмм конфет, и присваивает переменной то значение, которое мы ввели.
Далее идет цикл , который по сути вот что делает:
Для каждого целого i от 1 до 10 сделай вот что:
Выведи на экран строку 'Стоимость ', потом значение i, потом строку 'кг конфет: ', потом число i умноженное на t
После того, как закончишь обрабатывать все это в последний десятый раз, переходи дальше.
А дальше у нас end (последний end. всегда с точкой).
Конец.
auto = false;
var
soldier: array[1..5000]of integer;
n, i, j, k, max, t, d, imax, a, c: integer;
begin
if auto then begin
n := random(5000);
for i := 1 to n do
soldier[i] := random(5000);
end
else begin
readln(n);
for i := 1 to n do
read(soldier[i]);
end;
{сортирововчка}
for i := 1 to n - 1 do
begin
imax := i;
for j := i + 1 to n do
if soldier[j] > soldier[imax] then
imax := j;
max := soldier[i];
soldier[i] := soldier[imax];
soldier[imax] := max;
end;
max := 0;
for i := 1 to n - 1 do
for j := i + 1 to n do
begin
a := soldier[j];
d := soldier[j] - soldier[i];
c := 2;
for k := j + 1 to n do
if soldier[k] = a + d then begin
a := soldier[k];
c := c + 1;
end;
if c > max then max := c;
end;
writeln(max);
end.