Sponsors

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;
}

Can octopus get attached...

Do Octopuses Form Genuine Bonds with Humans? The Nuanced...

News From Nancy 1/9/2026...

Five Years After the Insurrection: Reflecting on January 6th...

OpenAI Hires Co-Founders of...

OpenAI Snaps Up Convogo Co-Founders, Bolstering Expertise in AI...

Do ferrets cough up...

Understanding Ferret Health: Do Ferrets Cough Up Hairballs? For many...

Lenovo goes all in...

Lenovo's AI Leap at CES 2026: The Future Is...

Why 99% of scientists...

The Unanimous Truth: Why 99% of Scientists Believe in...

Can octopus get attached to humans?

Do Octopuses Form Genuine Bonds with Humans? The Nuanced Answer The question of whether an octopus can genuinely attach itself to a human has captivated...

News From Nancy 1/9/2026 — Save Our Health Care

Five Years After the Insurrection: Reflecting on January 6th and the Fight for Health Care The latest update from the “News From Nancy” series, dated...

OpenAI Hires Co-Founders of AI-Powered Tool Convogo

OpenAI Snaps Up Convogo Co-Founders, Bolstering Expertise in AI Coaching and HR The global race for top artificial intelligence talent continues to heat up, and...

Do ferrets cough up hairballs?

Understanding Ferret Health: Do Ferrets Cough Up Hairballs? For many small pet owners, the sight or sound of a cat coughing up a hairball is...

Lenovo goes all in on AI with concepts at CES 2026

Lenovo's AI Leap at CES 2026: The Future Is Conceptual CES is renowned for launching the must-have gadgets of the year, but the annual tech...

Why 99% of scientists believe in evolution

The Unanimous Truth: Why 99% of Scientists Believe in Evolution In the public discourse, the debate between evolutionary theory and creationism often appears balanced. However,...

Charles Cross agrees to four-year extension with Seahawks

Charles Cross Secures Future with Massive Four-Year Extension with Seahawks The Seattle Seahawks organization demonstrated its commitment to building a formidable foundation by securing one...

Samsung Display Unveils New OLED Tech for Robots & Wearables at CES 2026

Samsung Display Prepares to Dazzle CES 2026 with Next-Gen OLED Innovations As the tech world gears up for CES 2026, all eyes are turning toward...

What do male octopus do after mating?

The Fateful Finale: What Happens to Male Octopuses After Mating? The ocean is home to countless wonders, but few natural phenomena are as dramatically tragic...