с программой! Участники Международной Олимпиады по программированию, которую решили провести на
платформе отправили на проверку 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
#include
#include
int main(){
int odds_sum=0,odds_cnt=0,
tdgt_sum=0,mthr_cnt=0;
for(int i=0,n; i< 10; i++){
scanf("%d",& n);
if(n%2==1){
odds_cnt++;
odds_sum+=n;
}
if(9
if(n%3==0)mthr_cnt++;
}
printf("%d\n",odds_sum); //сумма нечётных
printf("%d\n",odds_cnt); //количество нечётных
printf("%d\n",tdgt_sum); //сумма двузначных
printf("%d\n",mthr_cnt); //количество кратных трём
return 0;
}
2.#include
#include
int main(){
int even_sum=0,tdgt_sum=0,
tdgt_cnt=0,ngtv_cnt=0;
for(int i=0,n; i< 20; i++){
scanf("%d",& n);
if(n%2==0)even_sum+=n;
if(9
tdgt_cnt++;
tdgt_sum+=n;
}
if(n< 0)ngtv_cnt++;
}
printf("%d\n",even_sum); //сумма чётных
printf("%d\n",tdgt_sum); //сумма двузначных
printf("%d\n",tdgt_cnt); //количество двузначных
printf("%d\n",ngtv_cnt); //количество отрицательных
return 0;
}
3.#include
#include
int main(){
int ngtv_sum=0,ngtv_cnt=0,
tdgt_sum=0,tdgt_cnt=0;
for(int i=0,n; i< 15; i++){
scanf("%d",& n);
if(n< 0){
ngtv_sum+=n;
ngtv_cnt++;
}
if(99
tdgt_sum+=n;
tdgt_cnt++;
}
}
printf("%d\n",ngtv_sum); //сумма отрицательных
printf("%d\n",ngtv_cnt); //количество отрицательных
printf("%d\n",tdgt_sum); //сумма двузначных
printf("%d\n",tdgt_cnt); //количество двузначных
return 0;
}