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: Time Limit Exceeded)

using System;
using System.Linq;
using System.Collections.Generic;
using static System.Console;
using static System.Math;
 
public class Hello{
    public static void Main(){
//        long readhp = long.Parse(ReadLine());
//        string[] reader = ReadLine().Split(' ');
//        int monsterhp = int.Parse(reader[0]);
//        int magicnum = int.Parse(reader[1]);
/*        string[] reader = ReadLine().Split(' ');
        string[] reader1 = ReadLine().Split(' ');
        int a = int.Parse(reader1[0]);*/
        int a = int.Parse(ReadLine());
        string[] b = ReadLine().Split(' ');
        Array.Sort(b);
        string c = "YES";
        for(int i=1;i<b.Length;i++){
            if(b[i] == b[i-1]){
                c = "NO";
            }
        }
        WriteLine(c);
/*        string c = ReadLine();
        int a = c.Length;
        for(int i=0;i<a;i++){
            Write("x");
        }
        WriteLine();*/
//        string[] readerhp = ReadLine().Split(' ');
//        long total = 0;
//        int leng = readerhp.Length;
/*        int[,] map = new int[magicnum+10,monsterhp+10];
        for(int i=0;i<=monsterhp;i++){
            map[0,i] = 1000000000;
        }
        for(int i=1;i<=magicnum;i++){
            string[] reader2 = ReadLine().Split(' ');
            int magicdam = int.Parse(reader2[0]);
            int magicuse = int.Parse(reader2[1]);
            
            for(int j=1;j<=monsterhp;j++){
                if(j <= magicdam){
                    map[i,j] = Min(map[i-1,j],magicuse);
                }else{
                    map[i,j] = Min(map[i-1,j],map[i,j-magicdam]+magicuse);
                }
            }
        }
        /*for(int i=0;i<=magicnum;i++){
            for(int j=0;j<=monsterhp;j++){
                Write(map[i,j]);
                Write(" ");
            }
            WriteLine();
        }*/
        //WriteLine(map[magicnum,monsterhp]);*/
    }
}