Given an unsorted array of positive integers. Find the number of triangles that can be formed with three different array elements as lengths of three sides of triangles.
Input:
The first line of the input contains T denoting the number of testcases. First line of test case is the length of array N and second line of test case are its elements.
Output:
Number of possible triangles are displayed to the user.
Constraints:
The first line of the input contains T denoting the number of testcases. First line of test case is the length of array N and second line of test case are its elements.
Output:
Number of possible triangles are displayed to the user.
Constraints:
1 <=T<= 100
3 <=N<= 100
1 <=arr[i]<= 1000
3 <=N<= 100
1 <=arr[i]<= 1000
Example:
Input:
2
3
3 5 4
5
6 4 9 7 8
2
3
3 5 4
5
6 4 9 7 8
Output:
1
10
1
10
Your Code
#include<iostream>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int i;
int a[1000];
int n;
cin>>n;
for(i=0; i<n; i++)
{
cin>>a[i];
}
int num=0;
int j, k;
for(i=0; i<n-2; i++)
{
for(j=i+1; j<n-1; j++)
{
for(k=j+1; k<n; k++)
{
if((a[i]+a[j])>a[k] && (a[k]+a[j])>a[i] && (a[i]+a[k])>a[j])
num++;
}
}
}
cout<<num<<endl;
}
}