таня1924
07.09.2022 04:28

Условие Лавочки в парке устроены следующим образом. Несколько одинаковых кубических гранитных блоков ставятся в ряд, а на них кладется гранитная плита (см. рисунок). Архитектор-модернист решил, что будет интереснее, если у всех лавочек расположение гранитных блоков-ножек будет разным (и не обязательно симметричным). При этом они располагаются так, чтобы плита не падала: для этого достаточно, чтобы и слева, и справа от центра плиты был хотя бы один гранитный блок или его часть (в частности, если центр плиты приходится на середину какого-нибудь блока, то и слева, и справа от центра плиты находится часть блока, и плита не падает).
Формат входных данных
В первой строке входного потока записаны два числа: L – длина лавочки и K – количество гранитных блоков-ножек. Оба числа натуральные и не превышают 10 000.
Во второй строке записано K различных целых неотрицательных чисел, задающих положение каждой ножки. Положение ножки определяется расстоянием от левого края плиты до левого края ножки (ножка – это куб размером 1×1×1). Ножки перечислены слева направо (то есть начиная с ножки с меньшим расстоянием до левого края)
Формат выходных данных
В выходном потоке требуется перечислить ножки, которые грабителям нужно оставить. Для каждой ножки нужно выдать ее положение, как оно задано во входном потоке. Ножки следует перечислять слева направо, как они встречаются во входном потоке.
Код:
Pascal-
Var
cord:array[1..1000] of longint;
blk:array[1..1000] of real;
l,k,i,blr,rr,bll,kk:longint;
cer:real;
Begin
Read(l,k);
for i:=1 to k do
Read(cord[i]);
cer:=l/2;

bll:=cord[1];
blr:=1;
for i:=1 to round(cer) do
begin
if (cord[i]>bll) then
begin
bll:=cord[i];
blr:=i;
end;
end;

kk:=cord[k];
rr:=k;
for i:=k downto round(cer) do
begin
if (cord[i] begin
kk:=cord[i];
rr:=i;
end;
end;
write(blr,' ',rr);
end.
почемуто выдает неверный результат допустим
ввод:
13 4
1 4 8 11
вывод
4 8,а у меня 4 4

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
darinakor140197nooii
04.08.2021 00:35

1.y=m1*m2/Sqr(r)

2. Program my;

var S,a,b,h:real;

begin

write('Введите длины оснований и высоты');

readln(a,b,h);

S:=(a+b)*h/2;

readln(S);

end.

3. Program my;

var a:integer;

begin

writeln('Введите трехзначное число');

readln(a);

If (a mod 10=7) then write('Данное число заканчивается на 7');

else write('Данное число не заканчивается на 7');

end.

4.Program my;

var a,b,:integer;

begin

readln(a,b);

If (a>b) then writeln(Sqr(a), b+10);

If (a=b) then writeln('Числа равны');

If (a<b) then writeln(Sqr(b), a+10);

end.

5. 

Program my;
var a,b,c:integer;
begin
Readln(a,b);
For c:=a to b do
if (c mod 10=0) then
writeln (c);
end.

 

0,0(0 оценок)
Ответ:
odin2323
04.08.2021 00:35
1) а) на Java
class example{
    public static void main (String[] args){
        int k = 0, j = 0;
        for (int i = 0; i < 10; i++){
            k = k + 5;
            j = j + k;
            if (i == 9)
            System.out.print(k);
            else
            System.out.print(k + " + ");
        }
        System.out.print(" = " + j);
    }
}
б) на Pascal
var a,b,c:integer;
begin
for a:=1 to 10 do
begin
b:=b+5;
c:=c+b;
if (a = 10) then write(b)
else write(b, ' + ')
end;
write(' = ', c);
end.
2) а) на Java
class example{
    public static void main(String args[]){
        for (int x = 50; x >= 40; x--){
        double y = (5 * x) + (Math.pow(x, 2));
        int i = (int) y;
        System.out.println(i);
        }
    }
}
б) на Pascal
var y:real;
x:integer;
begin
for x:=50 downto 40 do
begin
y:=(5*x)+sqr(x);
writeln(y:0:0);
end;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота