Sponsors

Codeforces Round #421 (Div. 2), problem: (E) Mister B and Beacons on Field Solution In C/C++

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.TreeMap;

/**
* @author Don Li
*/
public class MisterBBeaconsField {

int N = (int) 2e6 + 10;
int SQRT = (int) (Math.sqrt(N) + 0.5);

int[] f = new int[N];
long nn, mm, ss;

long ans;
int[][] fs;
List<Long> bad = new ArrayList<>();

void solve() {
for (int i = 2; i < N; i++) {
if (f[i] == 0) {
f[i] = i;
for (int j = i * i; j < N && i <= SQRT; j += i) f[j] = i;
}
}

int T = in.nextInt();
while (T– > 0) {
int[] n = new int[3], m = new int[3], s = new int[3];
for (int i = 0; i < 3; i++) n[i] = in.nextInt();
for (int i = 0; i < 3; i++) m[i] = in.nextInt();
for (int i = 0; i < 3; i++) s[i] = in.nextInt();

s[0] *= 2;
nn = (long) n[0] * n[1] * n[2];
mm = (long) m[0] * m[1] * m[2];
ss = (long) s[0] * s[1] * s[2];

ans = 0;

fs = primeFactors(s);
dfs(0, 1);

bad.clear();
int[][] fn = primeFactors(n);
for (int i = 0; i < fn.length; i++) {
long v = fn[i][0];
for (int j = 0; j < fn[i][1]; j++) {
if (ss % v != 0) {
bad.add(v);
break;
}
v *= fn[i][0];
}
}
dfs2(0, 1, 0);

out.println(ans);
}
}

// iterate all the divisors of 2*s and count the number of divisors ≤ n
void dfs(int i, long v) {
if (i == fs.length) {
if (v <= nn) ans++;
return;
}
long mul = 1;
for (int j = 0; j <= fs[i][1]; j++) {
dfs(i + 1, v * mul);
mul *= fs[i][0];
}
}

// calc the number of k (such that gcd(n,k) | 2*s and 1≤k≤m) with inclusion-exclusion principle
void dfs2(int i, long v, int cnt) {
if (i == bad.size()) {
if (cnt == 0) ans += mm / v;
else ans -= mm / v;
return;
}
dfs2(i + 1, v, cnt);
dfs2(i + 1, v * bad.get(i), cnt ^ 1);
}

int[][] primeFactors(int[] a) {
TreeMap<Integer, Integer> map = new TreeMap<>();
for (int i = 0; i < 3; i++) {
int x = a[i];
while (x > 1 && x != f[x]) {
map.put(f[x], map.getOrDefault(f[x], 0) + 1);
x /= f[x];
}
if (x > 1) map.put(x, map.getOrDefault(x, 0) + 1);
}

int k = map.keySet().size();
int[][] cnt = new int[k][2];
int p = 0;
for (int x : map.keySet()) {
cnt[p][0] = x;
cnt[p][1] = map.get(x);
p++;
}
return cnt;
}

public static void main(String[] args) {
in = new FastScanner(new BufferedReader(new InputStreamReader(System.in)));
out = new PrintWriter(System.out);
new MisterBBeaconsField().solve();
out.close();
}

static FastScanner in;
static PrintWriter out;

static class FastScanner {
BufferedReader in;
StringTokenizer st;

public FastScanner(BufferedReader in) {
this.in = in;
}

public String nextToken() {
while (st == null || !st.hasMoreTokens()) {
try {
st = new StringTokenizer(in.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
return st.nextToken();
}

public int nextInt() {
return Integer.parseInt(nextToken());
}

public long nextLong() {
return Long.parseLong(nextToken());
}

public double nextDouble() {
return Double.parseDouble(nextToken());
}
}
}

Miracle Sheets Silver-Infused “Self-Cleaning”...

Understanding the Miracle Sheets Silver-Infused Technology The bedding industry is...

FG bans cash tax...

Nigeria Bans Cash Tax Collections and Revenue Roadblocks to...

Iran vs US-Israel war:...

Understanding the Legal Implications of Targeted Strikes on Sovereign...

Sloane Stephens reveals Indian...

Sloane Stephens Unveils Stylish New Look for 'Tennis Paradise'...

Shahed drone meets clone...

The Dawn of the Clone: US LUCAS Drone Debuts...

Gold loans grow 128%,...

Gold Loans Witness Explosive 128% Growth as Outstandings Surpass...

Miracle Sheets Silver-Infused “Self-Cleaning” Claims Examined: 2026 Consumer Report on Miracle Made Cooling Fabric Positioning, Antimicrobial Testing Context, and What Shoppers Should Verify

Understanding the Miracle Sheets Silver-Infused Technology The bedding industry is currently undergoing a technological revolution, with Miracle Made (popularly known for Miracle Sheets) at the...

FG bans cash tax collections, revenue roadblocks

Nigeria Bans Cash Tax Collections and Revenue Roadblocks to Boost Transparency In a landmark move aimed at modernizing the nation’s fiscal operations, the Federal Government...

Iran vs US-Israel war: The legality, or illegality, of killing a foreign leader, explained

Understanding the Legal Implications of Targeted Strikes on Sovereign LeadersThe geopolitical landscape of the Middle East has been thrust into unprecedented turmoil following reports...

Sloane Stephens reveals Indian Wells kit

Sloane Stephens Unveils Stylish New Look for 'Tennis Paradise' at Indian Wells As the tennis world prepares for one of the most prestigious stops on...

Shahed drone meets clone in US war on Iran

The Dawn of the Clone: US LUCAS Drone Debuts in CombatThe landscape of modern warfare shifted significantly on February 28th during a series of...

Gold loans grow 128%, outstandings cross 4 lakh crore

Gold Loans Witness Explosive 128% Growth as Outstandings Surpass ₹4 Lakh Crore India's financial landscape is witnessing a dramatic surge in gold-backed lending, signaling a...

Lottery Unlocked 2026: AI Accuracy Claims Examined, Pricing Verified, and What Consumers Should Confirm Before Buying

Lottery Unlocked 2026: A Deep Dive into AI Accuracy and Pricing ClaimsThe intersection of artificial intelligence and the lottery industry has reached a new...

How to be proactive about cancer prevention

Taking Charge: How to be Proactive About Cancer Prevention Every year, millions of families are affected by cancer, yet a startling statistic offers a glimmer...

Workday’s stock slumps again on weak guidance and AI disruption fears

Workday Shares Plunge as Future Outlook Dims Amid AI Concerns Workday Inc. (WDAY), a long-standing leader in the enterprise cloud applications market for finance and...