0
点赞
收藏
分享

微信扫一扫

Codeforces Round #137 (Div. 2) / 222A Shooshuns and Sequence (模拟)



A. Shooshuns and Sequence



http://codeforces.com/problemset/problem/222/A



time limit per test



memory limit per test



input



output


n

  1. k-th in the current sequence and add the same number to the end of the sequence;
  2. 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;
}




举报

相关推荐

0 条评论