Advertisement
YEZAELP

SMMR-085: Relax

Jul 5th, 2021
856
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. const int INF = 1e9;
  5. const int N = 1e6 + 10;
  6. using pi = pair <int, int>;
  7. pi ar[N];
  8. int n;
  9.  
  10. int Query(int x){
  11.     int l = 1, r = n, mn = INF;
  12.     while(l <= r){
  13.         int mid = (l + r) / 2;
  14.         if(ar[mid].first == x)
  15.             mn = min(mn, mid), r = mid - 1;
  16.         if(ar[mid].first < x)
  17.             l = mid + 1;
  18.         else
  19.             r = mid - 1;
  20.     }
  21.     return mn;
  22. }
  23.  
  24. int main(){
  25.  
  26.     scanf("%d", &n);
  27.  
  28.     for(int i=1;i<=n;i++){
  29.         int x;
  30.         scanf("%d", &x);
  31.         ar[i] = {x, i};
  32.     }
  33.  
  34.     sort(ar + 1, ar + n + 1);
  35.  
  36.     int m;
  37.     scanf("%d", &m);
  38.  
  39.     for(int i=1;i<=m;i++){
  40.         int x;
  41.         scanf("%d", &x);
  42.         int Q = Query(x);
  43.         if(Q == INF) printf("Not found\n");
  44.         else printf("%d\n", ar[Q].second);
  45.     }
  46.  
  47.     return 0;
  48. }
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement