[sw] 피라미드? (medium)
코이즈미는 학생들의 알고리즘 과목의 성적을 모두 알고 있다.
오래 전부터 내려오던 속설로는, 알고리즘 과목의 성적은 항상 피라미드 형태를 이룬다고 한다.
모든 학생들의 점수 중 최소 점수를 \(a\), 최대 점수를 \(b\)라고 하고, \(a\) 이상 \(b\) 미만의 모든 점수 \(k\)에 대해 \(k\) 다음으로 작은(즉, \(k\)보다 크면서 가장 작은) 점수를 \(l\) 이라고 한다. \(k\)와 \(l\)은 모두 해당 점수를 받은 학생이 \(1\)명 이상 있어야 한다.
성적이 피라미드 형태를 이룬다는 것은, \(a\) 이상 \(b\) 미만의 모든 점수 \(k\)에 대해 대해 점수가 \(k\)인 학생의 수가 점수가 \(l\)인 학생의 수보다 많다는 것을 뜻한다. 코이즈미는 이 속설이 진짜인지 확인하고 싶다.
코이즈미를 도와 알고리즘 과목의 성적이 피라미드를 이루는 지, 이루지 않는 지 구해주자.
학생들의 수 \(𝑁\)과 \(𝑁\)명의 성적이 주어질 때, 성적이 피라미드를 이룬다면 \(YES\)를, 아니라면 \(NO\)를 출력해라.
입력 설명
첫 번째 줄에 학생들의 수 \(𝑁(2 \le 𝑁 \le 1,000,000)\)이 주어진다.
두 번째 줄에 \(𝑁\)명의 학생들의 성적이 공백을 사이에 주어진다. 성적은 \(1\)이상 \(1,000,000,000,000\)이하인 정수이다.
출력 설명
성적이 피라미드를 이룬다면 \(YES\)를, 아니라면 \(NO\)를 출력하라.
예제 입력 1
6
3 3 4 4 5 3
예제 출력 1
YES
예제 입력 2
3
4 4 6
예제 출력 2
YES
예제 입력 3
3
1 2 3
예제 출력 3
NO
예제 입력 4
3
1 1 100
예제 출력 4
YES