using
System;
using
System.Collections.Generic;
class
GFG
{
public
class
pair
{
public
int
first, second;
public
pair(
int
f,
int
s)
{
first = f;
second = s;
}
};
static
int
Find_Index(
int
n,
int
[]arr)
{
int
odd = 0, even = 0;
List<pair> v_left =
new
List<pair>();;
List<pair> v_right =
new
List<pair>();
v_left.Add(
new
pair(odd, even));
for
(
int
i = 0; i < n - 1; i++)
{
if
(arr[i] % 2 == 0)
{
even++;
}
else
{
odd++;
}
v_left.Add(
new
pair(odd, even));
}
odd = 0;
even = 0;
v_right.Add(
new
pair(odd, even));
for
(
int
i = n - 1; i > 0; i--)
{
if
(arr[i] % 2 == 0)
{
even++;
}
else
{
odd++;
}
v_right.Add(
new
pair(odd, even));
}
v_right.Reverse();
for
(
int
i = 0; i < v_left.Count; i++)
{
if
(v_left[i].first == v_right[i].first ||
v_left[i].second == v_right[i].second)
{
return
i;
}
}
return
-1;
}
public
static
void
Main(String[] args)
{
int
[]arr = {4, 3, 2, 1, 2};
int
n = arr.Length;
int
index = Find_Index(n, arr);
if
(index == -1)
{
Console.WriteLine(
"-1"
);
}
else
{
Console.WriteLine(
"index = "
+ index);
}
}
}