C++| Easy solution
Code\n\nclass Solution {\npublic:\n    int maxSubarrays(vector<int>& nums) {\n        int mn = *min_element(nums.begin(), nums.end());\n        int ad = 1;\n   
# Code\n```\nclass Solution {\npublic:\n    int maxSubarrays(vector<int>& nums) {\n        int mn = *min_element(nums.begin(), nums.end());\n        int ad = 1;\n        for(int num : nums) ad &= num;\n        mn = min(mn, ad);\n        \n        int ans = 0, curr = nums[0];\n        for(int i=0;i<nums.size();i++) {\n           curr &= nums[i];\n            if(curr == mn) {\n                ans++;\n                if(i+1 < nums.size()) curr = nums[i+1];\n            }\n        }\n        return max(ans, 1);\n    }\n};\n```
['Bit Manipulation', 'C++']