Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- void solution(int &c, int &d, int luchu, int a[], int N)
- {
- int l = 0, r = N - 1, mid, i;
- while (r >= l){
- mid = r - (r - l)/2;
- if ( luchu + 0.1 > a[mid] ){
- l = mid + 1;
- }
- else if ( luchu + 0.1 < a[mid]){
- r = mid - 1;
- }
- }
- int index = l;
- for ( i = index - 1, c = -1 ; i >= 0 ; i-- ){
- if (a[i] < luchu){
- c = a[i];
- break;
- }
- else c = -1;
- }
- for ( i = index, d = -1 ; i < N ; i++ ){
- if (a[i] > luchu){
- d = a[i];
- break;
- }
- else d = -1;
- }
- }
- int main (){
- int N, Q, luchu, a[50003];
- int x, y;
- std::cin >> N;
- for (int i = 0 ; i < N ; std::cin >> a[i], i++ );
- std::cin >> Q;
- while(Q--){
- std::cin >> luchu;
- solution(x, y, luchu, a, N);
- if(x == -1 && y != -1) printf("X %d\n",y );
- else if(x != -1 && y == -1) printf("%d X\n",x );
- else if(x != -1 && y != -1) printf("%d %d\n",x, y );
- else printf("X X\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement