C1099 - 三角形个数

题目描述

小圆点拉着太阳的胡须,在天空中晃来晃去,好不痛快。

可是,他手一松,“啪”从空中摔了下来,一下子摔到地上,有两条射线被小圆点扯掉下来啦。

“这怎么办呢?”小圆点对躺在地上的两条射线说。

“不要紧,我们请圆规大叔帮忙,让他把两条射线接起来。”这时,大铅笔博士出现了,笑眯眯地指着身后高高个子,戴一顶小黑帽子的圆规说。

圆规大叔弯了弯腰说:“能倒能,不过,连起来就不见得是一条直线了。”

“那是怎么回事呢?”小圆点问。

“我们来试一下就知道了。”圆规大叔边说边拉起了两条射线,把它们连在一起,结果呢?就连成了一个角!

现给出n个角的度数,从中选出度数各不相同的三个角来组成一个三角形,问一共有多少种选法?

输入格式

第一行:一个整数n($3 <= n <= 200000$)。

第二行:n个空格隔开的整数$a_i$($0 < a_i < 180$),表示每个角的度数。

输出格式

只有一个整数,表示能组成度数各不相同的三角形的选法总数。

样例 #1

样例输入 #1

5
20 20 30 130 140

样例输出 #1

2

样例输入输出说明

一共有5个角,编号为1..5,度数分别为20,20,30,130,140。

第1种选法:1号,3号,4号;

第2种选法:2号,3号,4号。

以上两种选法三个角的度数分别是20,30,130,度数各不相等。

数据范围与提示

对于50%的数据满足:$3 \le n \le 100$

对于80%的数据满足:$3 \le n \le 1000$

对于100%的数据满足:$3 \le n \le 200000$

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1099.in,输出文件名为:C1099.out