n , k = map(int,input().split())
a = list(map(int,input().split()))
l = a[k-1]
for i in a[k:]:
if i != l:
print(-1)
break
else:
for i,val in enumerate(reversed(a[:k-1])):
if val != l:
print(k-i-1)
break
else:
print(0)
#include<bits/stdc++.h>
using namespace std;
int a[100005],n,k,ans;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=k;i<=n;i++)
{
if(a[i]!=a[k])
{
cout<<-1<<endl;
return 0;
}
}
for(int i=1;i<k;i++)
{
if(a[i]!=a[k])
{
ans=i;
}
}
cout<<ans<<endl;
return 0;
}
841A - Generous Kefa | 1690B - Array Decrements |
1692C - Where's the Bishop | 104A - Blackjack |
1438A - Specific Tastes of Andre | 1711C - Color the Picture |
1194C - From S To T | 110B - Lucky String |
1114A - Got Any Grapes | 224B - Array |
125B - Simple XML | 567B - Berland National Library |
431B - Shower Line | 282C - XOR and OR |
1582B - Luntik and Subsequences | 609A - Флеш-карты |
1207A - There Are Two Types Of Burgers | 371C - Hamburgers |
343B - Alternating Current | 758B - Blown Garland |
1681B - Card Trick | 1592A - Gamer Hemose |
493D - Vasya and Chess | 1485A - Add and Divide |
337B - Routine Problem | 1392D - Omkar and Bed Wars |
76E - Points | 762C - Two strings |
802M - April Fools' Problem (easy) | 577B - Modulo Sum |