РЕШИТЕ Ограничение по времени 1 секунда
Ограничение памяти 256 МБ
Стандартный ввод input или input.txt
Вывод стандартный вывод или output.txt
Вы пытаетесь собрать шкаф, но потеряли инструкции. В шкафу есть несколько отверстий, каждое из которых предназначено для установки болта определенного размера. Отверстие размера D необходимо совместить с болтом размера D. Однако подойдут и болты размеров D-1 и D + 1. Поскольку у вас нет инструкций, вы решаете сделать следующее: для каждого болта вы случайным образом выберете доступное отверстие, в которое поместится болт, и ввинтите болт в это отверстие. Если болт не может войти ни в одно из доступных отверстий, вы пропустите его и перейдете к следующему.
Вам даны n целых чисел, содержащих размеры болтов. Для каждого элемента в болтах имеется соответствующее отверстие того же размера. Выведите максимальное количество неиспользуемых отверстий, которое может остаться в конце этого процесса.
Формат ввода
Первая строка содержит одно целое число 1
п
50 - количество болтов.
Вторая строка содержит n целых чисел, разделенных пробелом, размеров болтов, каждый от 1 до 100.
Формат вывода
Выведите максимальное количество неиспользуемых отверстий, которое может остаться в конце этого процесса.
Образец 1
Ввод, вывод
3
1 2 3
1
Образец 2
Ввод, вывод
5
1 2 3 2 4
1
начнём с того,что s трапеции-это 1/2 a*h (1/2 основания на высоту).
теперь,с этими знаниями,переходим в pascal abc.net.
начинаем с названия программы.
program pltrap; (pltrap-это сокращенно площадь трапеции.если хочешь,можешь написать за место этого то,что хочешь ты).
задаем переменные.
var a,b,c: real; (а-это высота,b-это средняя линия,с-сама площадь трапеции. real-тип переменных чисел.real-значит число может быть как целым,так и не целым).
begin - (начало решения).
возьмем наши переменные,которые будем записывать в строку.
readln(a); - высота.
readln(b); - основание.
c: =0.5*a*b - это наша формула для нахождении площади.1/2-это 0,5.в паскале нужно писать в целых числах вместо запятой точку.
writeln(c); - это то,что нам надо найти,то,что высветится,как ответ,в окне вывода.в нашем случае-это площадь.
end. - конец программы (на конце ставим точку).
итак,что у нас получилось:
program pltrap;
var a,b,c: real;
begin
readln(a);
readln(b);
c: =0.5*a*b;
writeln(c)
end.
теперь пишем в окно ввода числа.
первое число-это a (высота),потому что мы ее задали первой в команде readln(a);
потом-b (основание).
и получаем,чему будет равна площадь.например.пишем числа:
10
2
s=1/2*a*c=0,5*10*2=10- это число выдаст паскаль.
не забывай про ;
если будут вопросы-пиши мне.
var
c, a: array[1..20] of integer;
i: integer;
begin
write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 1 to 20 do begin
a[i] := c[20 - i + 1];
write(a[i], ' ');
end;
end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var
c: array[1..20] of integer;
i: integer;
begin write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 20 downto 1 do write(c[i], ' ');
end.
Обе программы работают!