-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
Copy pathSolution.java
31 lines (28 loc) · 943 Bytes
/
Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// github.com/RodneyShag
import java.util.Scanner;
import java.util.Arrays;
import java.util.Collections;
// Time complexity: O(n log n)
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
Integer [] stick = new Integer[N];
for (int i = 0; i < N; i++) {
stick[i] = scan.nextInt();
}
scan.close();
findTriangle(stick);
}
/* Greedy Approach: Try to use the biggest sticks first */
private static void findTriangle(Integer [] stick) {
Arrays.sort(stick, Collections.reverseOrder());
for (int i = 0; i < stick.length - 2; i++) {
if (stick[i] < stick[i+1] + stick[i+2]) {
System.out.println(stick[i+2] + " " + stick[i+1] + " " + stick[i]);
return;
}
}
System.out.println(-1);
}
}