Вот тебе в паскале
program ryad_chisel;
var N, t:integer;
begin
read(N);
t:=(N*(N+1))div 2;
if t mod 2 =1 then writeln('IMPOSSIBLE')
else begin
if N mod 2 =0 then begin
t:=N div 4;
repeat
write('+');
t:=t-1;
until t=0;
t:=N div 2;
repeat
write('-');
t:=t-1;
until t=0;
t:=N div 4;
repeat
write('+');
t:=t-1;
until t=0;
end
else begin
t:=((N+1) div 4)-1;
repeat
write('+');
t:=t-1;
until t=0;
t:=((N-1) div 2)+1;
repeat
write('-');
t:=t-1;
until t=0;
t:=(N+1) div 4;
repeat
write('+');
t:=t-1;
until t=0;
end
end
end.
20 МБайт = 20 * 1024 байт = 20 * 1024 * 8 бит = 163840 бит
Сначала рассмотрим первый случай, с применением архиватора:
Сначала инициатор отправки сжимает файл и затрачивает 14 секунд. Теперь файл весит 80% от 163840 бит = 131072 бит.
Затем инициатор отправки отправляет файл размером 131072 бит. На это затрачивается (131072 бит / 223 бит = 587.766816143) секунд.
Затем человек по ту сторону кабеля получает и распаковывает файл, на это он тратит 2 секунды. Суммарно затраченное время = 14 + 587.766816143 + 2 секунд = 603.766816143 секунд.
Рассмотрим второй случай, без применения архиватора:
Инициатор отправки отправляет файл размером 163840 бит. На это затрачивается (163840 бит / 223 бит = 734.708520179) секунд. Суммарно затраченное время = 734.708520179 секунд.
ответ: А 130.941704036
Var
n:integer;
r,p:real;
begin
read(n,r);
p:=n*2*r*tan(pi/n);
writeln(p);
end.
Пример ввода:
6
4
Пример вывода:
27.712812921102