/*********************************************************************************
问题描述:
牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。
输入描述:
首先输入一个正整数N,接下来的一行共有N个正整数表示每个木棒的长度。
N ≤ 50, 木棒的长度 ≤ 10000.
输出描述:
输出一个整数表示方法数。
输入例子:
5
1 2 3 4 5
输出例子:
3
*********************************************************************************/
#include <iostream>
using namespace std;
bool isOk(int a,int b,int c)
{
return a+b>c && a+c>b && b+c >a;
}
int main()
{
int N;
int length[50];
cin>>N;
for(int ii=0;ii<N;ii++)
{
cin>>length[ii];
}
int cnt=0;
for(int ii=0;ii<N-2;ii++)
for(int jj=ii+1;jj<N-1;jj++)
for(int kk=jj+1;kk<N;kk++)
{
if(isOk(length[ii],length[jj],length[kk]))
cnt++;
}
cout<<cnt<<endl;
}