//Весьма слабое решение, но после перерыва мне простительно, хех. //Pascal ABC.NET v3.1 сборка 1219
Var ar,arOdd,arNotOdd:array of integer; n,i,j,k1,k2:integer; begin readln(n); setlength(ar,n+1); k1:=1; k2:=1; for i:=1 to n do begin readln(ar[i]); if odd(i) then begin setlength(arOdd,k1); arOdd[k1-1]:=ar[i]; inc(k1); end else begin setlength(arNotOdd,k2); arNotOdd[k2-1]:=ar[i]; inc(k2); end; end; sort(arOdd); sort(arNotOdd); reverse(arNotOdd); k1:=0; k2:=0; i:=0; while i<>n do begin inc(i); if odd(i) then begin ar[i]:=arOdd[k1]; inc(k1); end else begin ar[i]:=arNotOdd[k2]; inc(k2); end; write(ar[i],' '); end; end.
Пример ввода: 5 1 2 3 4 5 Пример вывода: 1 4 3 2 5
В России пользователи чаще всего называют символ @ собакой, из-за чего адреса электронной почты, образованные от личных имен и фамилий, приобретают иной раз слегка обидное звучание. Справедливости ради надо отметить, что в России этот знак называют также собачкой, лягушкой, плюшкой, ухом, бараном и даже крякозяброй. Пользователям Интернета в других странах нравятся самые разные названия для знака @. В Японии – «значок а» , в Болгарии – «а обезьянье» , в Голландии – «обезьяний хвост» , в Финляндии – «кошкин хвост» , во Франции – «улиточка» , в Венгрии – «гусеничка» , «червячок» , «поросячий хвостик» , в Израиле – «штрудель» , в Китае – «мышонок» , в Норвегии – «канельболле» (спирально закрученная булочка с корицей, то есть плюшка) . В Германии знак дословно называют «обезьяна с цепким хвостом» , но немецкое слово Klammeraffe имеет также второе, переносное, значение: так называют пассажира на мотоцикле, сгорбившегося на втором сиденье за спиной водителя. В Швеции и Дании символ @ сравнивают с хоботом слона, а в Испании – со спиралеобразной конфетой, популярной на острове Майорка. Даже на международном языке эсперанто символ электронной почты получил свое название: «улитка».
//Pascal ABC.NET v3.1 сборка 1219
Var
ar,arOdd,arNotOdd:array of integer;
n,i,j,k1,k2:integer;
begin
readln(n);
setlength(ar,n+1);
k1:=1;
k2:=1;
for i:=1 to n do
begin
readln(ar[i]);
if odd(i) then
begin
setlength(arOdd,k1);
arOdd[k1-1]:=ar[i];
inc(k1);
end
else
begin
setlength(arNotOdd,k2);
arNotOdd[k2-1]:=ar[i];
inc(k2);
end;
end;
sort(arOdd);
sort(arNotOdd);
reverse(arNotOdd);
k1:=0;
k2:=0;
i:=0;
while i<>n do
begin
inc(i);
if odd(i) then
begin
ar[i]:=arOdd[k1];
inc(k1);
end
else
begin
ar[i]:=arNotOdd[k2];
inc(k2);
end;
write(ar[i],' ');
end;
end.
Пример ввода:
5
1
2
3
4
5
Пример вывода:
1 4 3 2 5