fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. typedef long double ld;
  6. typedef long long lli;
  7. typedef pair<lli, lli> ii;
  8. typedef vector<lli> vi;
  9.  
  10. #define endl '\n'
  11. #define f first
  12. #define s second
  13. #define pb push_back
  14. #define sz(s) lli(s.size())
  15. #define all(s) begin(s), end(s)
  16. #define fore(i, a, b) for(lli i = (a), TT = (b); i < TT; ++i)
  17. #define _ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  18.  
  19. lli n, k, aux;
  20. vi v;
  21.  
  22. bool f(lli pos, lli x){
  23. if(pos>n+1) return false;
  24.  
  25. return v[pos] <= x;
  26. }
  27.  
  28. int main() {
  29. cin >> n >> k;
  30. for(lli i=0; i<n; i++){
  31. cin >> aux;
  32. v.pb(aux);
  33. }
  34.  
  35. v.pb(-1e10);
  36. v.pb(1e10);
  37.  
  38. sort(all(v));
  39.  
  40. while(k--){
  41. cin >> aux;
  42.  
  43.  
  44. lli pos = 0;
  45. lli pow = log2(n+2)+1;
  46. for(lli i = pow; i>=0;i--){
  47. lli paso = 1ll<<i;
  48. if(f(paso+pos, aux)){
  49. pos+=paso;
  50. }
  51. }
  52.  
  53. cout << pos << endl;
  54. }
  55.  
  56. return 0;
  57. }
Success #stdin #stdout 0s 5312KB
stdin
Standard input is empty
stdout
Standard output is empty