有大佬帮我看看为什么在pta上就不对,在dev里运行的就没问题,和正确代码的答案都一致,我也试了很多种情况都是对的,但pta就是说我第二个试点错误。
#include <stdio.h>
int main(int argc, char *argv[]) {
int x,n;
int a[999] = {0};
int i,j;
scanf ("%d %d",&n,&x);
for (i = 0;i < n;i++){
scanf ("%d",&a[i]);
if (a[i] <= a[i-1]){
printf ("Invalid Value");
return 0;
}
}
int left = 0,right = n - 1,mid;
mid = (left + right) / 2;
printf ("[%d,%d][%d]\n",left,right,mid);
while (left < right){
if (x == a[mid]){
break;
}else if (x < a[mid]){
right = mid -1;
}else{
left = mid + 1;
}
mid = (left + right) / 2;
if (left > right){
break;
}
printf ("[%d,%d][%d]\n",left,right,mid);
}
if (a[mid] != x){
printf ("Not Found");
}else{
printf ("%d",mid);
}
return 0;
}