又见 Lucky Number



1000 ms  |  内存限制: 65535



3



题目很简单:给一个长度为n的单调递增整形数组a。

问题是否存在 Lucky Number   i , 使a[i] == i  。



多组测试数据 ,不超过 150 组

每组测试数据包含两行。


第一行输入 n (n <= 1e6)


第二行输出n个整数表示数组a 的元素,每两个元素之间以空格隔开。

输出 若存在 ,输出 Yes , 否则输出 No

每组测试数据占一行。

样例输入

4 -1 1 3 5 3 1 2 3

样例输出

Yes No

提示 大家尝试用O(log n)的算法。 来源 ​​飘谊系列​

上传者 ​​TC_张友谊​



太水了吧。。还难度3.。。

#include <stdio.h>
int main()
{
int n;
while(~scanf("%d",&n))
{
bool ok=false;
int i=0;
while(i<n)
{
int x;
scanf("%d",&x);
if(x==i)
ok=true;
i++;
}
if(ok)
puts("Yes");
else
puts("No");
}
return 0;
}