using
System;
using
System.Collections.Generic;
class
GFG {
static
int
ChooseNumber(
int
[] arr,
int
k,
int
n)
{
Dictionary<
int
,
int
> m =
new
Dictionary<
int
,
int
>();
int
res = Int32.MaxValue;
int
max_rem = Int32.MinValue;
for
(
int
i = 0; i < n; i++) {
int
rem = arr[i] % k;
m[rem] = m.GetValueOrDefault(rem, 0) + 1;
if
(max_rem < m.GetValueOrDefault(rem, 0))
max_rem = m.GetValueOrDefault(rem, 0);
}
for
(
int
i = 0; i < n; i++) {
if
(max_rem
== m.GetValueOrDefault(arr[i] % k, 0)) {
res = Math.Min(res, arr[i]);
}
}
return
res;
}
public
static
void
Main()
{
int
[] arr = { 1, 3, 5, 2, 4, 6 };
int
K = 2;
int
N = 6;
Console.WriteLine(ChooseNumber(arr, K, N));
}
}