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

Meta’s stock surges on...

Meta Platforms Stock Soars on Blockbuster Q4 Earnings and...

Do hedgehogs have heat...

Unraveling the Mystery: Do Hedgehogs Experience Heat Cycles? For those...

I made one change...

The One TV Setting Change That Instantly Improves Your...

Which scientist born in...

Ernst Öpik: The Legendary Astrophysicist Born on November 13th In...

Master Chief voice actor...

Master Chief Voice Actor Steve Downes Slams Unauthorized AI...

Hotel software maker Mews...

Mews Secures Massive $300M Series D Round, Hitting $2.5...

Meta’s stock surges on strong earnings, revenue and bullish guidance

Meta Platforms Stock Soars on Blockbuster Q4 Earnings and Bullish Outlook Meta Platforms Inc., the parent company of Facebook, Instagram, and WhatsApp, delivered a massive...

Do hedgehogs have heat cycles?

Unraveling the Mystery: Do Hedgehogs Experience Heat Cycles? For those fascinated by the natural world, the reproductive habits of unique mammals often raise curious questions....

I made one change and streaming instantly got better

The One TV Setting Change That Instantly Improves Your Streaming Experience If you've recently upgraded to a new smart TV and noticed that your favorite...

Which scientist born in 13 november?

Ernst Öpik: The Legendary Astrophysicist Born on November 13th In the vast calendar of scientific history, certain dates mark the beginning of groundbreaking lives. November...

Master Chief voice actor Steve Downes says AI voice cloning crosses a line and wants it to stop

Master Chief Voice Actor Steve Downes Slams Unauthorized AI Voice Cloning The iconic voice behind the legendary Master Chief of the Halo series, Steve Downes,...

Hotel software maker Mews nabs $300M at $2.5B valuation

Mews Secures Massive $300M Series D Round, Hitting $2.5 Billion Valuation The landscape of hospitality technology is rapidly evolving, and few companies are making a...

Lagos forum launches scholarship drive for indigent secondary students

Lagos Gentry Forum Launches Crucial Scholarship Drive for Indigent Students In a significant move aimed at democratizing access to tertiary education, the Lagos Gentry Forum...

Quick News: Red, Custom, Fix, Bambo, Kenan

President Claremont and King James III Return: 'Red, White & Royal Wedding' Sequel Confirmed Fans of the beloved romantic comedy Red, White & Royal Blue...

AGI Needs World Models and State of World Models

Demis Hassabis: AGI Requires 'World Models,' LLMs Alone Are Not Enough In the fiercely competitive race toward Artificial General Intelligence (AGI), the CEOs of leading...