Codeforces Round #409 (rated, Div. 1, based on VK Cup 2017 Round 2), problem: (D) Varying Kibibits Solution In C/C++

#include <bits/stdc++.h>

#define MAXN (1000000)
#define MAXM (6)
#define mod (1000000007)
#define ll long long

int n;
int a[MAXN], b[MAXN], c[MAXN], g[MAXN], pow10[MAXM + 2];

void FWT(int *a, int length, int len){
for(int i = 1; i <= len; ++ i){
for(int j = 0; j < length; j += pow10[i]){
for(int k = j, sz = pow10[i – 1]; k < j + sz; ++ k){
for(int p = 8; p >= 0; — p){
int &x = a[k + p * sz];
x = (x + a[k + (p + 1) * sz]) % mod;
}
}
}
}
}

void UFWT(int *a, int length, int len){
for(int i = 1; i <= len; ++ i){
for(int j = 0; j < length; j += pow10[i]){
for(int k = j, sz = pow10[i – 1]; k < j + sz; ++ k){
for(int p = 0; p <= 8; ++ p){
int &x = a[k + p * sz];
x = (x – a[k + (p + 1) * sz] + mod) % mod;
}
}
}
}
}

int powmod(int a, int b){
int ret = 1;
while(b){
if(b & 1) ret = 1ll * ret * a % mod;
b >>= 1;
a = 1ll * a * a % mod;
}
return ret;
}

int main(){
pow10[0] = 1;
for(int i = 1; i <= MAXM; ++ i){
pow10[i] = pow10[i – 1] * 10;
}
scanf(“%d”, &n);
for(int i = 1; i <= n; ++ i){
int x;
scanf(“%d”, &x);
a[x] = (a[x] + 1) % mod;
b[x] = (b[x] + x) % mod;
c[x] = (c[x] + 1ll * x * x) % mod;
}
FWT(a, MAXN, MAXM);
FWT(b, MAXN, MAXM);
FWT(c, MAXN, MAXM);

for(int i = 0; i < MAXN; ++ i){
if(!a[i]) continue;
if(a[i] == 1){
g[i] = c[i];
continue;
}
g[i] = (1ll * b[i] * b[i] + c[i]) % mod * powmod(2, a[i] – 2) % mod;
}

UFWT(g, MAXN, MAXM);

ll ans = 0;
for(int i = 0; i < MAXN; ++ i){
ans ^= 1ll * g[i] * i;
}
printf(“%I64d\n”, ans);
return 0;
}

Is Desk Productivity Tools...

📢 As an Amazon Associate, I earn from qualifying...

The Outer Worlds 2...

Gamers and RPG enthusiasts have reason to celebrate as...

Why Travel Organization Gear...

📢 As an Amazon Associate, I earn from qualifying...

Why Everyone Is Talking...

📢 As an Amazon Associate, I earn from qualifying...

Why Everyone Is Talking...

📢 As an Amazon Associate, I earn from qualifying...

Why Everyone Is Talking...

📢 As an Amazon Associate, I earn from qualifying...

Is Desk Productivity Tools Worth Your Money Here Is Our Full Review

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Desk Productivity Tools?The Desk Productivity Tools...

The Outer Worlds 2 v1.2.0.1-TENOKE

Gamers and RPG enthusiasts have reason to celebrate as Obsidian Entertainment's acclaimed franchise returns with new developments. The highly anticipated sequel to the award-winning...

Why Travel Organization Gear Is Currently Breaking the Internet

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Travel Organization Gear?The Travel Organization Gear...

Why Everyone Is Talking About the Car Detailing Essentials

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Car Detailing Essentials?The Car Detailing Essentials...

Why Everyone Is Talking About the Smart Home Hacks

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Smart Home Hacks?The Smart Home Hacks...

Why Everyone Is Talking About the Viral Kitchen Gadgets

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Viral Kitchen Gadgets?The Viral Kitchen Gadgets...

Why Everyone Is Talking About the Travel Organization Gear

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Travel Organization Gear?The Travel Organization Gear...

Why Everyone Is Talking About the Travel Organization Gear

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Travel Organization Gear?The Travel Organization Gear...

GLP-1 Drugs Like Ozempic Carry Elevated Risks of Muscle Loss and Malnutrition in Adults Over 65

Understanding the Risks of GLP-1 Drugs for Older Adults GLP-1 receptor agonists, such as Ozempic, Wegovy, and Mounjaro, have transformed the landscape of weight management...