2shIk
14.07.2021 18:56

с программой! Участники Международной Олимпиады по программированию, которую решили провести на
платформе отправили на проверку N файлов с кодом:
f1, f2, . . . , fN . Прежде чем показать участникам результаты проверки, жюри решило оценить вероятность списывания. Они написали программу, которая сравнивает два файла и оценивает, насколько они похожи друг на друга. Если же программа считает файлы слишком похожими, жюри
сообщает об этом участникам и больше не желает иметь с ними ничего общего.
Так как количество файлов довольно велико, проверка всех пар файлов займет слишком много
времени. С другой стороны, файлы, размеры которых слишком сильно отличаются, можно считать
не похожими. Воспользуемся этим!
Жюри решило не сравнивать пары файлов, для которых размер меньшего файла составляет
менее 90% от размера большего файла. Таким образом, программа должна сравнить только такие
пары различных файлов (fi
, fj ), i 6= j, для которых верно size(fi) 6 size(fj ) и size(fi) > 0.9·size(fj ).
Напишите программу, которая вычислит количество пар файлов, которые придется сравнить.
Формат входных данных
В первой строке записано число N (1 6 N 6 105
) — количество файлов.
Во второй строке записаны N целых чисел: size(f1), size(f2), . . . , size(fN ) (1 6 size(fi) 6 108
) —
размеры файлов.
Формат выходных данных
Выведите одно число — количество пар файлов, которые придется сравнить.
Примеры
стандартный ввод стандартный вывод
ввод
2
2 1
вывод
0
ввод
5
1 1 1 1 1
вывод
10

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Роннилав
13.09.2022 00:14
uses crt,graph; type mas=array[1..500] of Pointtype; var gd,gm,i,j,k,n:integer;     a:mas; begin randomize; gd:=0; initgraph(gd,gm,''); for i:=1 to 500 do  begin   a[i].x:=random(getmaxX);   a[i].y:=random(getmaxY);   circle(a[i].x,a[i].y,2);  end; k:=0;n:=0; repeat k:=k+1; delay(200); setcolor(0); for i:=1 to 500 do circle(a[i].x,a[i].y,2); for i:=1 to 500 do  begin   if a[i].y>getmaxY-n-10 then a[i].y:=1   else a[i].y:=a[i].y+3;   if a[i].x<0 then a[i].x:=getmaxX   else a[i].x:=a[i].x-1;  end; setcolor(15); for i:=1 to 500 do circle(a[i].x,a[i].y,2); if k mod 20=0 then  begin   n:=n+1;   line(0,getmaxY-n,getmaxX,getmaxY-n);  end; until keypressed; readln end.
0,0(0 оценок)
Ответ:
bosschakalev
02.02.2021 04:25
В позиционной системе каждый разряд стоит на своей позиции.
Например, в 10-ной системе, число 235 означает, что в нем 2 сотни, 3 десятка и 5 единиц.
В 2-ной системе число 10010 означает, что в нем 1 число 2^4 = 16 и
1 число 2^1 = 2. Таким образом, эта запись означает число 16 + 1 = 18.
В непозиционной системе разные единицы могут быть в разных местах, а их значение определяется взаимным расположением.
Самая известная непозиционная система - это римские цифры.
Запись IV означает 5 - 1 = 4, запись VI означает 5 + 1 = 6.
Запись IX означает 10 - 1 = 9, запись XI означает 10 + 1 = 11.
То есть значение значка I означает то +1, то -1, в зависимости от того, стоит он перед или после более старшего значка.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота