Problem:
Set

数列a_1,a_2,..,a_Nが与えられます。

この数列に値は何種類ありますか。

入力

N
a_1 a_2...a_N

出力

数列の値の種類数を出力せよ。

制約

1 \leq N \leq 10^5

1 \leq a_i \leq 10^9

入力例

6
8 6 9 1 2 1

出力例

5

Solution in C# (judge verdict: Accepted)

using System;
using System.Linq;

namespace aaaaa
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string N = Console.ReadLine();
            int n=int.Parse(N);
            string A = Console.ReadLine();
            string[] f = A.Split();
            int[] a = new int[n];
            for(int i = 0; i < n; i++)
            {
                a[i] = int.Parse(f[i]);
            }
            Array.Sort(a);
            int aa = n;
            for(int i = 0; i < n - 1; i++)
            {
                if (a[i] == a[i + 1]) { aa -= 1; }
            }
            Console.WriteLine(aa);
        }
    }
}