решение фактически сводится только к тому что бы удалить дубли из входного массива
using System;
using System.Linq;
namespace Test {
class Program {
static void Main() {
int n = Convert.ToInt32(Console.ReadLine());
int i = 0;
int[] mass = new int[n];
while (n > 0) {
mass[i] = Convert.ToInt32(Console.ReadLine());
n--; i++;
}
mass = mass.Distinct().ToArray();
GC.SuppressFinalize(n); GC.SuppressFinalize(i);
GC.Collect();
foreach (var item in mass) {
Console.WriteLine(item);
}
}
}
}