fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int N,Q,x;
  4. vector <int> K;
  5. int func(int x){
  6. int R=1,L=K[N];
  7. int W=log2(K[N]);
  8. int temp;
  9. for(int n=1;n<=W;n++){
  10. temp=(R+L)/2;
  11. if(K[temp]==x){
  12. return temp%2==0;
  13. }else if(K[temp]>x){
  14. R=temp;
  15. }else{ //K[temp]<x
  16. L=temp;
  17. }
  18. }
  19. if(K[L+1]!=K[R]){
  20. temp=(R+L)/2;
  21. if(K[temp]==x){
  22. return temp%2==0;
  23. }else if(K[temp]>x){
  24. R=temp;
  25. }else{ //K[temp]<x
  26. L=temp;
  27. }
  28. }
  29. return L%2==0;
  30. }
  31.  
  32.  
  33. int main() {
  34. cin>>N>>Q;
  35. for(int n=1;n<=N;n++){
  36. cin>>x;
  37. K.push_back(x);
  38. }
  39. sort(K.begin(),K.end());
  40. /*for(int n=0;n<N;n++){
  41. cout<<K[n];
  42. }*/
  43. while(cin>>x){
  44. cout<<func(x)<<"\n";
  45. }
  46. }
Success #stdin #stdout 0.01s 5288KB
stdin
5 3
3 1 3 2 8
3 6 9
stdout
1
1
1