bzoj#P2348. [Baltic 2011]Plagiarism

[Baltic 2011]Plagiarism

题目描述

世界编程大赛的选手们提交 nn 份程序文件 f1,,fnf_1, \ldots, f_n 给评测系统。在将评测结果正式公布之前,评委会想要排除一切可能的剽窃现象。他们已有一个对比程序,用来比较两份程序文件,并判断它们是否太过相似了。

然而程序文件的数目相当大,把每两份(一对,pair)文件都进行比较的话将花太多的时间。另一方面,许多对(pair)可以直接被排除,如果文件的大小相差太大的话。

更准确地说,评委会决定,如果每两份文件(一对,pair)中,较小文件的体积小于较大文件的体积的 90%90\%,那将直接不比较这样的一对(pair)。所以,对比程序只比较这样的一对 (fi,fj)(f_i, f_j)
iji \not = jsize(fi)size(fj)\mathrm{size}(f_i) \leq \mathrm{size}(f_j)size(fi)0.9size(fj)\mathrm{size}(f_i)≥0.9\cdot\mathrm{size}(f_j)

编写程序计算有多少对(pair)文件需要被比较。

输入格式

第 1 行包含一个整数 nn,即提交的程序文件总数。 第 2 行包含 nn 个整数 size(f1),,size(fn)\mathrm{size}(f_1), \ldots, \mathrm{size}(f_n),每个整数代表文件的体积大小。

输出格式

第 1 行,也是唯一的一行,给出一个整数,即需要被比较的文件的对(pair)的数目。

样例输入

5
1 1 1 1 1

样例输出

10

样例说明

样例中,每两个文件之间都要互相比较(当然,每对只比较一次,不是两次)。

数据规模与约定

对于 50%50\% 的数据,1n2×1031 \leq n \leq 2\times10^3
对于 100%100\% 的数据,1n1051 \leq n \leq 10^51size(fi)1081 \leq \mathrm{size}(f_i) \leq 10^8