Advertisement
nontawat1996

jump วลัยลักษณ์

Sep 9th, 2013
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.77 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #define SIZE 30005
  5. int data[SIZE],N,K,Max=-1;
  6. int main()
  7. {
  8.     scanf("%d%d",&N,&K);
  9.     int i,j,k,tra;
  10.     for(i=1;i<=N;i++) scanf("%d",&data[i]);
  11.  
  12.     int low,high,mid,temp;
  13.     for(i=1;i<=N;i++)
  14.     {
  15.         tra=data[i]+K;
  16.         low=i;
  17.         high=N;
  18.         while(low<=high)
  19.         {
  20.             mid=(low+high)/2;
  21.             if(data[mid]<tra) low=mid+1;
  22.             else if(data[mid]>tra) high=mid-1;
  23.             else
  24.             {
  25.                 break;
  26.             }
  27.         }
  28.         while(data[mid]>tra)
  29.         {
  30.             mid--;
  31.             if(mid==i || mid<1) break;
  32.         }
  33.         temp = mid-i;
  34.         if(Max<temp) Max=temp;
  35.     }
  36.     printf("%d",Max);
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement