Problem:
Score : 300 points

Problem Statement

Given is a sequence of integers A_1, A_2, ..., A_N.
If its elements are pairwise distinct, print YES; otherwise, print NO.

Constraints

2 ≤ N ≤ 200000

1 ≤ A_i ≤ 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
A_1 ... A_N

Output

If the elements of the sequence are pairwise distinct, print YES; otherwise, print NO.

Sample Input 1

5
2 6 1 4 5

Sample Output 1

YES

The elements are pairwise distinct.

Sample Input 2

6
4 1 3 1 6 2

Sample Output 2

NO

The second and fourth elements are identical.

Sample Input 3

2
10000000 10000000

Sample Output 3

NO

Solution in C# (Mono 4.6.2.0) (judge verdict: Accepted)

//ソートを導入
using System;

namespace tst
{
    class Program
    {
        public static void Quicksort(int[] A, int p, int r)
        {
            if (p < r)
            {
                //対象の部分配列を前後二つの部分配列に分割（Divide）
                int q = Partition(A, p, r);
                //前方の部分配列についてソート
                Quicksort(A, p, q - 1);
                //後方の部分配列についてソート
                Quicksort(A, q + 1, r);
            }
        }
        public static int Partition(int[] A, int p, int r)
        {
            int x = A[r];
            int i = p - 1;
            for (int j = p; j < r; j++)
            {
                if (A[j] <= x)
                {
                    i++;
                    int temp = A[i];
                    A[i] = A[j];
                    A[j] = temp;
                }
            }
            int temp2 = A[i + 1];
            A[i + 1] = A[r];
            A[r] = temp2;
            return i + 1;
        }
        public static void Main()
        {
            int n = int.Parse(Console.ReadLine());
            string[] In = Console.ReadLine().Split(' ');
            int[] A = new int[n];
            for(int i=0; i<n; i++)
            {
                A[i] = int.Parse(In[i]);
            }
            Quicksort(A, 0, n - 1);
            bool flag = true;
            for(int i=0; i<n-1; i++)
            {
                if (A[i] == A[i + 1])
                {
                    flag = false;
                    break;
                }
            }
            if (flag) { Console.WriteLine("YES"); }
            else { Console.WriteLine("NO"); }
        }
    }
}