XXXの各素因数とYYYの各素因数についてそれぞれ積の累積和を取り、各iiiについてjjjを二分探索すればよいです. 計算量はO(NlogNlogXY)O(NlogNlogXY)O(NlogNlogXY)です. 実装例(C++)