АВТ
Language:

Remote Training on Programming

Problems On-line status Contests FAQ
For authors:
Register  ||  Login
 
Hello, Guest! Login or register.

730. Количество операций

Time Limit: 1 seconds
Memory Limit:65535KB
Points:2
View Problem Statistics Submit Problem added Administrator

 Дана программа сортировки:
--------------------------------------------------------------------------------
const nmax=100;

var a:array[1..nmax] of integer;
    n:integer;
    i,j,g:integer;

    f1,f2:text;

begin
assign(f1,'input.txt');
reset(f1);
assign(f2,'output.txt');
rewrite(f2);
                                  {Чтение входных данных}
read(f1,n);
for i:=1 to n do read(f1,a[i]);
                                  {Сортировка массива}

for i:=1 to n do begin            {Подбираем число на i-ое место}

  g:=i;                           {Считаем, что самое маленькое число,
                                   которое нам встретилось, стоит на месте i}

  for j:=i+1 to n do              {Перебираем все числа с i+1 до конца массива}
    if a[j]<a[g] then g:=j;       {Если нашли число, которое меньше,
                                   чем то, что уже найдено, запоминаем его}

                                  {Меняем местами числа, стоящие на i-ом и
                                   на g-ом местах }
                                  {Если a[i]=x, a[g]=y, то после выполнения
                                   команды: }
  if i<>g then begin
    a[i]:=a[i]+a[g];                {a[i]=x+y, a[g]=y}
    a[g]:=a[i]-a[g];                {a[i]=x+y, a[g]=(x+y)-y=x}
    a[i]:=a[i]-a[g];                {a[i]=(x+y)-x=y}
                                  {То есть после этого a[i]=y, a[g]=x
                                   обмен значений произошел}
    end;

  end;

                                  {Выводим результат}
for i:=1 to n do
  write(f2,a[i],' ');
close(f1);
close(f2);
end.

-----------------------------------------------------------------------------

Требуется узнать, сколько раз
при сортировке конкретного массива с помощью этой программы
выполняется операция сравнения двух элементов массива (строка 25 программы).

Входные данные
Во входном файлезаписан массив в формате (и удовлетворяющий ограничениям).

Выходные данные
В выходной файл ваша программа должна печатать одно число - сколько
раз в процессе сортировки этого массива вышеприведённой программой выполнится
команда сравнения двух элементов массива.

Пример входного файла
5
3 1 2 4 2

Пример выходного файла
10

View Problem Statistics Submit Author/source:
Educational Courses / Problems from olympiads.ru for beginners /
729. 140 - Результаты олимпиады 730. 731. 142 - Минимум в таблице 732. 143 - ГАИ 733. 144 - Диагональки
We can all benefit by doing occasional "toy" programs, when artificial restrictions are set up, so that we are forced to push our abilities to the limit. The art of tackling miniproblems with all our energy will sharpen our talents for the real problems. Donald E. Knuth.
time generating 0.453 sec.
© Copyright VSTU, AVT, Nosov D.A.