CodeForces 222A Shooshuns and Sequence :每次复制队列中第k个元素到队尾并删除队首元素,几次可以将队列变相同 : 思维
codeforces好多这样的想到很简单,想不到感觉难到爆的题目,思维!
很简单:只要原序列第k个元素后面有和第k个不一样的就变不了,思考=
可以就看第k个前面连续多少个和第k个相同即可=
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 int a[100005]; 6 int main() 7 { 8 int n,k,i,ans; 9 scanf("%d%d",&n,&k); 10 for (i=1;i<=n;i++) scanf("%d",&a[i]); 11 for (i=k;i<=n;i++) 12 if (a[i]!=a[k]){ 13 printf("-1\n"); 14 return 0; 15 } 16 ans=0; 17 for (i=1;i<k;i++) 18 if (a[i]!=a[k]) ans=i; 19 printf("%d\n",ans); 20 }