Problem10967--Codility - Triangle

10967: Codility - Triangle

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

Determine whether a triangle can be built from a given set of edges.
An array A consisting of N integers is given. A triplet (P, Q, R) is triangular if 0 ≤ P < Q < R < N and:
  • A[P] + A[Q] > A[R],
  • A[Q] + A[R] > A[P],
  • A[R] + A[P] > A[Q].
For example, consider array A such that:
A[0] = 10 
A[1] = 2 
A[2] = 5 
A[3] = 1 
A[4] = 8 
A[5] = 20
Triplet (0, 2, 4) is triangular.

Input

Write an efficient algorithm for the following assumptions:
  • $N$ is an integer within the range $[0..100,000]$;
  • each element of array $A$ is an integer within the range $[−2,147,483,648..2,147,483,647]$.

Output

returns 1 if there exists a triangular triplet for this array and returns 0 otherwise.

Sample 1 Input

6
10 5 2 1 8 20

Sample 1 Output

1

Sample 2 Input

4
10 50 5 1

Sample 2 Output

0

HINT

Codility.

Source/Category