Pascal abc. в некоторой гостинице для имеются k1, k2, k3-местные номера (от 1 до 4 мест в номере). на каждом этаже типы номеров чередуются: 1) первая комната - k1-местный номер; 2) вторая комната - k2-местный номер; 3) третья комната - k3-местный номер; 4) четвертая комната - k1-местный номер; 5) пятая комната - k2-местный номер; 6) шестая комната - k3-местный номер и т. д. количество комнат n на этаже гостиницы кратно 3, то есть n равно 6, 9, 12 и т. д. в системе занятыми местами каждой комнате соответствует элемент массива а, в котором записано количество занятых мест. например n = 9, k1 = 2, k2 = 4, k3 = 3. заселение 9 номеров на одном из этажей a[1]=2 (свободных мест в двухместном номере нет); a[2]=1 (три места в четырехместном номере свободны); a[3]=0 (все три места в трехместном номере свободны); a[4]=1 (одно место в двухместном номере свободно); a[5]=3 (одно место в четырехместном номере свободно); a[6]=2 (одно место в трехместном номере свободно); a[7]=0 (все места в двухместном номере свободны); a[8]=4 (все места в четырехместном номере заняты); a[9]=3 (все места в трехместном номере заняты); левое крыло комнаты с номерами 1, 2, 3, 4. правое крыло комнаты с номерами 6, 7, 8, 9. комната с номером 5 посередине. найти номера двух соседних комнат в которых не менее к свободных мест на всем этаже. если таких комнат нет, то вывести 0, если есть, то вывести номера этих комнат. например, если к=6, то номерами соседних комнат с общим количеством свободных мест в соседних номерах будут 2 и 3.
var i,j,n,k,k1,k2,k3: integer; bb: boolean;
a: array of integer;
begin
write('N = ');
readln(n);
if ((n mod 3 = 0) and (n<>0)) then begin
write('K1 = ');
readln(k1);
write('K2 = ');
readln(k2);
write('K3 = ');
readln(k3);
setlength(a,n);
for i:=0 to n-1 do begin
write('Заполним номер ',i+1,' -> ');
readln(a[i]);
end;
i:=0;
while (i<n) do
begin
a[i]:=k1-a[i];
a[i+1]:=k2-a[i+1];
a[i+2]:=k3-a[i+2];
inc(i,3);
end;
write('K = ');
readln(k);
for i:=0 to n-2 do
if (a[i]+a[i+1]>=k) then begin write('В комнатах ',i+1,' и ',i+2,' есть ',a[i]+a[i+1],' свободных мест'); bb:= true; end;
if (bb=false) then writeln(0);
end else writeln('Введите число кратное 3 и неравное 0');
readln;
end.