using
System;
class
GFG
{
static
double
e = 2.71828;
static
int
roundNo(
float
num)
{
return
(
int
) (num < 0 ?
num - 0.5 : num + 0.5);
}
static
void
printBestCandidate(
int
[]candidate,
int
n)
{
int
sample_size = roundNo((
float
) (n / e));
Console.WriteLine(
"\n\nSample size is "
+
sample_size);
int
best = 0;
for
(
int
i = 1; i < sample_size; i++)
if
(candidate[i] > candidate[best])
best = i;
for
(
int
i = sample_size; i < n; i++)
if
(candidate[i] >= candidate[best])
{
best = i;
break
;
}
if
(best >= sample_size)
Console.WriteLine(
"\nBest candidate found is "
+
(best + 1) +
" with talent "
+
candidate[best]);
else
Console.Write(
"Couldn't find a best candidate\n"
);
}
public
static
void
Main(String[] args)
{
int
n = 8;
int
[]candidate =
new
int
[n];
Random rand =
new
Random();
for
(
int
i = 0; i < n; i++)
candidate[i] = 1 + rand.Next(1, 8);
Console.Write(
"Candidate : "
);
for
(
int
i = 0; i < n; i++)
Console.Write(i + 1 +
" "
);
Console.WriteLine();
Console.Write(
"Talents : "
);
for
(
int
i = 0; i < n; i++)
Console.Write(candidate[i] +
" "
);
printBestCandidate(candidate, n);
}
}