それっぽい数字を試していく。
きっとこんな感じの解放だろう、って感じの勘で通った。
class CorrectMultiplication {
public:
long long getMinimum(int a, int b, int c)
{
if (a > b) swap(a, b);
const lli N = 1000000000 + 1;
lli mn = N * N;
for (lli A = 1; A * A < N; ++A) {
for (lli B = max(1LL, c / A - 100); B < c / A + 100; ++B) {
lli C = A * B;
mn = min(mn, abs(A - a) + abs(B - b) + abs(C - c));
}
}
return mn;
}
};