Advertisement
Guest User

spowe2

a guest
Dec 15th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <bits/stdc++.h>
  4. #include <cstdio>
  5. #include <algorithm>
  6.  
  7.  
  8. using namespace std;
  9.  
  10. unsigned int pow2[31];
  11. unsigned int spower2[1000];
  12.  
  13. int ns,n,v;
  14. //ns=nr de elem din din spower2
  15.  
  16. unsigned int binarySearch(int v) {
  17. int st=0,dr=ns-1,mij;
  18. while(st<=dr) {
  19. mij=(st+dr)/2; ///mij=(st+dr)>>1;
  20. if(spower2[mij]==v) {
  21. return v;
  22. } else {
  23. if(spower2[mij] < v)
  24. st=mij+1;
  25. else
  26. dr=mij-1;
  27. }
  28. }
  29. return spower2[st];
  30. }
  31.  
  32. int main() {
  33. freopen("spower2.in","r",stdin);
  34. freopen("spower2.out","w",muie_bwei);
  35. pow2[0]=1;
  36. for(int i=1; i<=31; i++) {
  37. pow2[i]=2*pow2[i-1];
  38. /// pow2[i]=(1<<i);
  39. }
  40.  
  41. for(int i=0; i<30; i++) {
  42. for(int j=i+1; j<31; j++) {
  43. spower2[ns++]=pow2[i]+pow2[j];
  44. }
  45. }
  46. sort(spower2,spower2 + ns);
  47. scanf("%d",&n);
  48. for(int i=0; i<n; i++) {
  49. scanf("%d",&v);
  50. cout << binarySearch(v)<<" ";
  51. }
  52.  
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement