1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <iostream>
#include <numeric>
class Solution {
public:
int minimizeSet(int divisor1, int divisor2, int uniqueCnt1, int uniqueCnt2) {
long long divisor0 = (long long)divisor1 / std::gcd(divisor1, divisor2) * divisor2;
int a = (uniqueCnt1 - 1) / (divisor1 - 1) + uniqueCnt1;
int b = (uniqueCnt2 - 1) / (divisor2 - 1) + uniqueCnt2;
int c = (uniqueCnt1 + uniqueCnt2 - 1) / (divisor0 - 1) + uniqueCnt1 + uniqueCnt2;
return std::max(c, std::max(a, b));
}
};
|