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.Collections.Generic;
using System.Linq;
using System;

public class hello
{
    public static void Main()
    {
        var n = int.Parse(Console.ReadLine().Trim());
        string[] line = Console.ReadLine().Trim().Split(' ');
        getAns(n, line);
    }
    static void getAns(int n, string[] a)
    {
        var hs = new HashSet<string>();
        for (int i = 0; i < n; i++) hs.Add(a[i]);
        Console.WriteLine(hs.Count());
    }
}