Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #define SIZE 30005
- int data[SIZE],N,K,Max=-1;
- int main()
- {
- scanf("%d%d",&N,&K);
- int i,j,k,tra;
- for(i=1;i<=N;i++) scanf("%d",&data[i]);
- int low,high,mid,temp;
- for(i=1;i<=N;i++)
- {
- tra=data[i]+K;
- low=i;
- high=N;
- while(low<=high)
- {
- mid=(low+high)/2;
- if(data[mid]<tra) low=mid+1;
- else if(data[mid]>tra) high=mid-1;
- else
- {
- break;
- }
- }
- while(data[mid]>tra)
- {
- mid--;
- if(mid==i || mid<1) break;
- }
- temp = mid-i;
- if(Max<temp) Max=temp;
- }
- printf("%d",Max);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement