それっぽい数字を試していく。
きっとこんな感じの解放だろう、って感じの勘で通った。
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; } };