Advertisement
Guest User

F

a guest
Aug 25th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <map>
  4. #include <set>
  5. #include <queue>
  6. #include <algorithm>
  7. #include <string>
  8. #include <cmath>
  9. #include <cstdio>
  10. #include <iomanip>
  11. #include <fstream>
  12. #include <cassert>
  13. #include <cstring>
  14. #include <unordered_set>
  15. #include <unordered_map>
  16. #include <numeric>
  17. #include <ctime>
  18. #include <bitset>
  19. #include <random>
  20. #include <complex>
  21.  
  22. using namespace std;
  23.  
  24. const int LIM = 100;
  25.  
  26. mt19937 rng(337);
  27.  
  28. int solve(vector<int> a) {
  29.     int ans = 0;
  30.     int n = (int)a.size();
  31.     for (int i = 0; i < n; i++) {
  32.         for (int j = i + 1; j < n; j++) {
  33.             for (int k = j + 1; k < n; k++) {
  34.                 int val = (a[j] & a[k]);
  35.                 val |= a[i];
  36.                 ans = max(ans, val);
  37.             }
  38.         }
  39.     }
  40.     return ans;
  41. }
  42.  
  43. signed main() {
  44.     ios_base::sync_with_stdio(false);
  45.     cin.tie(0);
  46.  
  47.     int n;
  48.     cin >> n;
  49.     vector<int> a(n);
  50.     for (auto &t : a) {
  51.         cin >> t;
  52.     }
  53.     int ans = 0;
  54.     while ((double)clock() / CLOCKS_PER_SEC < 1.9) {
  55.         vector<int> ind;
  56.         for (int i = 0; i < LIM; i++) {
  57.             ind.push_back(rng() % n);
  58.         }
  59.         sort(ind.begin(), ind.end());
  60.         ind.resize(unique(ind.begin(), ind.end()) - ind.begin());
  61.         vector<int> v;
  62.         for (auto i : ind) {
  63.             v.push_back(a[i]);
  64.         }
  65.         ans = max(ans, solve(v));
  66.     }
  67.     cout << ans << endl;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement