Skip to content
Programmingoneonone
Programmingoneonone
  • Engineering Subjects
    • Internet of Things (IoT)
    • Digital Communication
    • Human Values
  • Programming Tutorials
    • C Programming
    • Data structures and Algorithms
    • 100+ Java Programs
    • 100+ C Programs
    • 100+ C++ Programs
  • Solutions
    • HackerRank
      • Algorithms Solutions
      • C solutions
      • C++ solutions
      • Java solutions
      • Python solutions
    • Leetcode Solutions
    • HackerEarth Solutions
  • Work with US
Programmingoneonone
Programmingoneonone

HackerEarth Equal bitwise operations problem solution

YASH PAL, 31 July 202413 February 2026
In this HackerEarth Equal bitwise operations problem solution A sequence of integers is said to be beautiful if the bitwise AND, OR, and XOR of its elements are pairwise equal to each other. you are given a sequence A of size N. Find the number of non-empty subsequences of A that are beautiful. Print the answer modulo 10 to power 9 plus 7.
 
 
HackerEarth Equal bitwise operations problem solution

 

 

HackerEarth Equal bitwise operations problem solution.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

public class solution {

static long modExp(long x, long y, long mod) {
if(y == 0)
return 1 % mod;
long ret = modExp(x, y >> 1, mod);
ret = ret * ret % mod;
if((y & 1) == 1)
ret = ret * (x % mod) % mod;
return ret;
}

public static void main(String[] args) {
FastReader s = new FastReader();
PrintWriter w = new PrintWriter(System.out);

long mod = (long)1e9 + 7;
long[] fact = new long[(int)2e5 + 1];
long[] ifact = new long[(int)2e5 + 1];
fact[0] = 1;
ifact[0] = 1;
for(int i = 1; i <= (int)2e5; i++) {
fact[i] = fact[i - 1] * i % mod;
ifact[i] = modExp(fact[i], mod - 2, mod);
}

int n = s.nextInt();
int[] a = new int[n];
for(int i = 0; i < n; i++)
a[i] = s.nextInt();
HashMap<Integer, Integer> hm = new HashMap<>();
for(int i = 0; i < n; i++) {
if(!hm.containsKey(a[i]))
hm.put(a[i], 0);
hm.put(a[i], hm.get(a[i]) + 1);
}
long res = 0;
for(Map.Entry<Integer, Integer> e : hm.entrySet()) {
int k = e.getKey();
int c = e.getValue();
if(k == 0) {
res = ((modExp(2, c, mod) - 1 + mod) % mod + res) % mod;
continue;
}
for(int i = 1; i <= c; i+=2) {
res = (fact[c] * ifact[i] % mod * ifact[c - i] % mod + res) % mod;
}
}
w.print(res);

w.close();
}
static class FastReader {
BufferedReader br;
StringTokenizer st;
public FastReader() {
br = new BufferedReader(new InputStreamReader(System.in));
}
String next() {
while (st == null || !st.hasMoreTokens()) {
try {
st = new StringTokenizer(br.readLine());
}
catch (IOException e) {
e.printStackTrace();
}
}
return st.nextToken();
}
int nextInt() {
return Integer.parseInt(next());
}
long nextLong() {
return Long.parseLong(next());
}
double nextDouble() {
return Double.parseDouble(next());
}
String nextLine() {
String str = "";
try {
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
}
 

second solution

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2e5 + 14, mod = 1e9 + 7;
int n, po[maxn] = {1};
int main(){
ios::sync_with_stdio(0), cin.tie(0);
for(int i = 1; i < maxn; i++)
po[i] = po[i - 1] * 2 % mod;
cin >> n;
map<int, int> cnt;
for(int i = 0; i < n; i++){
int x;
cin >> x;
cnt[x]++;
}
int ans = 0;
for(auto [x, y] : cnt)
if(x)
(ans += po[y - 1]) %= mod;
else
(ans += po[y] - 1) %= mod;
cout << ans << 'n';
}
 
coding problems solutions HackerEarth HackerEarth

Post navigation

Previous post
Next post

Leave a Reply

Your email address will not be published. Required fields are marked *

Programmingoneonone

We at Programmingoneonone, also known as Programming101 is a learning hub of programming and other related stuff. We provide free learning tutorials/articles related to programming and other technical stuff to people who are eager to learn about it.

Pages

  • About US
  • Contact US
  • Privacy Policy

Practice

  • Java
  • C++
  • C

Follow US

  • YouTube
  • LinkedIn
  • Facebook
  • Pinterest
  • Instagram
©2026 Programmingoneonone | WordPress Theme by SuperbThemes