#396 B. Mahmoud and a Triangle

来源:互联网 发布:彩票平台源码程序 编辑:程序博客网 时间:2024/05/22 01:48
B. Mahmoud and a Triangle
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Mahmoud has n line segments, the i-th of them has length ai. Ehab challenged him to use exactly 3 line segments to form a non-degenerate triangle. Mahmoud doesn't accept challenges unless he is sure he can win, so he asked you to tell him if he should accept the challenge. Given the lengths of the line segments, check if he can choose exactly 3 of them to form a non-degenerate triangle.

Mahmoud should use exactly 3 line segments, he can't concatenate two line segments or change any length. A non-degenerate triangle is a triangle with positive area.

Input

The first line contains single integer n (3 ≤ n ≤ 105) — the number of line segments Mahmoud has.

The second line contains n integers a1, a2, ..., an (1 ≤ ai ≤ 109) — the lengths of line segments Mahmoud has.

Output

In the only line print "YES" if he can choose exactly three line segments and form a non-degenerate triangle with them, and "NO" otherwise.

Examples
input
51 5 3 2 4
output
YES
input
34 1 2
output
NO
Note

For the first example, he can use line segments with lengths 24 and 5 to form a non-degenerate triangle.

http://codeforces.com/contest/766/problem/B

思路:先将所有边进行升序排序,然后依次找相邻的三条边。
因为:假设a<=b<=c
则b-a<c,c-a<b,c-b<a.则当b-a,c-a,c-b最小时,最容易组成三角形。

import java.util.Arrays;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int N = scan.nextInt();int[] d = new int[N];for(int i=0;i<N;i++){d[i] = scan.nextInt();}Arrays.sort(d);for(int i=0;i<d.length-2;i++){if(d[i]+d[i+1]>d[i+2]){System.out.println("YES");return;}}System.out.println("NO");}}


0 0
原创粉丝点击