A. Shooshuns and Sequence
http://codeforces.com/problemset/problem/222/A
time limit per test
memory limit per test
input
output
n
- k-th in the current sequence and add the same number to the end of the sequence;
- Delete the first number of the current sequence.
The shooshuns wonder after how many operations all numbers on the board will be the same and whether all numbers will ever be the same.
Input
n and k (1 ≤ k ≤ n ≤ 105).
n space-separated integers: a1, a2, ..., an (1 ≤ ai ≤ 105) — the sequence that the shooshuns found.
Output
Print the minimum number of operations, required for all numbers on the blackboard to become the same. If it is impossible to achieve, print -1.
Sample test(s)
input
3 2 3 1 1
output
1
input
3 1 3 1 1
output
-1
Note
[1, 1, 1]. So, one operation is enough to make all numbers the same. Thus, the answer equals one.
In the second test case the sequence will never consist of the same numbers. It will always contain at least two distinct numbers 3 and 1. Thus, the answer equals -1.
water.
完整代码:
/*30ms,0KB*/
#include<cstdio>
int main()
{
int n, k, temp, a, now, pos;
scanf("%d%d", &n, &k);
scanf("%d", &now);
pos = n;
temp = n;
bool possible = true;
while (--temp)
{
scanf("%d", &a);
if (a != now)
{
now = a;
pos = temp;
if (k <= n - pos)
{
possible = false;
break;
}
}
}
printf("%d", possible ? n - pos : -1);
return 0;
}