immuntasir

UVA 10611 - Monkey and The Playboy Chimp

May 29th, 2015
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.68 KB | None | 0 0
  1. #include <cstdio>
  2. int ara[50000];
  3. int main() {
  4.     int n,i;
  5.     scanf("%d", &n);
  6.     for (i=0; i<n;i++) scanf("%d", &ara[i]);
  7.     int numofquerys;
  8.     scanf("%d", &numofquerys);
  9.  
  10.     while (numofquerys--) {
  11.         int q;
  12.         int ans1=1;
  13.         int start, end, current;
  14.         scanf("%d", &q);
  15.         if (q <= ara[0]) {
  16.             ans1 = -1;
  17.         }
  18.         else {
  19.             start = 0;
  20.             end = n-1;
  21.             current;
  22.             while (start<=end) {
  23.                 current = start + (end-start)/2;
  24.  
  25.                 if (ara[current] > q) {
  26.                     end = current-1;
  27.                 }
  28.                 else if (ara[current] < q) {
  29.                     start = current+1;
  30.                 }
  31.                 else {
  32.                     end = current - 1;
  33.                 }
  34.             }
  35.             if (ara[current] >= q) current--;
  36.         }
  37.         if (ans1 < 0) printf("x ");
  38.         else printf("%d ", ara[current]);
  39.  
  40.         ans1 = 1;
  41.         if (q >= ara[n-1]) {
  42.             ans1 = -1;
  43.         }
  44.         else {
  45.             start = 0;
  46.             end = n-1;
  47.             current;
  48.             while (start<=end) {
  49.                 current = start + (end-start)/2;
  50.  
  51.                 if (ara[current] > q) {
  52.                      end = current-1;
  53.                 }
  54.                 else if (ara[current] < q) {
  55.                     start = current + 1;
  56.                 }
  57.                 else {
  58.                     start = current + 1;
  59.                 }
  60.             }
  61.             if (ara[current] <= q) current++;
  62.         }
  63.         if (ans1 < 0 ) printf("x\n");
  64.         else printf("%d\n", ara[current]);
  65.     }
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment