var
n, Num, i, j, t: integer;
Count: array[1..12] of integer;
Names: array[1..12] of integer;
begin
for i := 1 to 12 do
begin
Count[i] := 0;
Names[i] := i;
end;
ReadLn(N); { Считываем количество запросов}
for i := 1 to N do
begin
ReadLn(t); {считали очередной запрос}
Count[t] := Count[t] + 1;
end;
{Сортируем массивы Names и Count в порядке убывания значений массива Count}
for i := 12 downto 2 do
for j := 2 to i do
if Count[j - 1] < Count[j] then
begin
t := Count[j];
Count[j] := Count[j - 1];
Count[j - 1] := t;
t := Names[j];
Names[j] := Names[j - 1];
Names[j - 1] := t;
end;
for i := 12 downto 1 do
if Count[i] > 0 then
WriteLn(Names[i], ' ', Count[i]);
end.
Объяснение:
Думаю так.
Входной файл input.txt
Выходной файл output.txt
Ограничение времени 5 секунд
Пусть sn=cos(an-cos(an-1+cos(an-2-cos(an-3+…)…).
Пусть an=(…(x+2)x+3)x+4)x+…+n)x+n+1.
Требуется для заданных N (1<=N<=200) и Х=1 напечатать выражение, определяющее sn
В единственной строке входного файла задано N.
В единственной строке выходного файла должно содержаться искомое выражение, затем без пробела знак равно и значение выражения с точностью до четырех знаков после точки.
Пример входного файла:
5
Пример выходного файла:
cosx+2)x+3)x+4)x+5)x+6-cosx+2)x+3)x+4)x+5+cos(((x+2)x+3)x+4-cos((x+2)x+3+cos(x+2=-0.4637