传送门:http://codeforces.com/contest/466/problem/B
做比赛那会儿脑洞大开,目测是吃了万恶的烤鱼。。
#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 1e18
int main()
{
__int64 n, a, b;
while(~scanf("%I64d%I64d%I64d", &n, &a, &b))
{
__int64 ans = N;
n *= 6;
if(a * b >= n)
{
printf("%I64d\n", a * b);
printf("%I64d %I64d\n", a, b);
continue;
}
__int64 z = a, x = b;
__int64 s = (__int64)sqrt(n) + 1;
for(int i = a; i <= s; i++)
{
__int64 B = n / i + (n % i > 0);
if(i * B < ans && B >= b)
z = i, x = B, ans = i * B;
}
for(int i = b; i <= s; i++)
{
__int64 A = n / i + (n % i > 0);
if(i * A < ans && A >= a)
z = A, x = i, ans = i * A;
}
printf("%I64d\n", x * z);
printf("%I64d %I64d\n", z, x);
}
return 0;
}