Advertisement
mickypinata

SMMR-T085: Relax

Apr 16th, 2020
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. #define pii pair<int, int>
  7. #define f first
  8. #define s second
  9.  
  10. vector<pii> num;
  11. int n, T;
  12.  
  13. int main(){
  14.  
  15.     int x;
  16.  
  17.     scanf("%d", &n);
  18.     num.assign(n, {0, 0});
  19.     for(int i = 0; i < n; ++i){
  20.         scanf("%d", &x);
  21.         num[i] = {x, i};
  22.     }
  23.     sort(num.begin(), num.end());
  24.  
  25.     scanf("%d", &T);
  26.     for(int i = 0; i < T; ++i){
  27.         scanf("%d", &x);
  28.         int l = 0;
  29.         int r = n - 1;
  30.         int ans = n;
  31.         while(l <= r){
  32.             int m = (l + r) / 2;
  33.             if(num[m].f < x){ /// Go Right
  34.                 l = m + 1;
  35.             } else { /// Go Left
  36.                 if(num[m].f == x){
  37.                     ans = min(ans, num[m].s);
  38.                 }
  39.                 r = m - 1;
  40.             }
  41.         }
  42.         if(ans == n){
  43.             cout << "Not found\n";
  44.         } else {
  45.             cout << ans + 1 << "\n";
  46.         }
  47.     }
  48.  
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement