
문제를 덜 읽어서 정사각형만 찾다가 다시 읽어보니 직사각형이었고 ... ㅎ...
문제에서 준 식 A * |R - C| + B * (N - R * C) 값이 가장 작게 나오는 값을 찾으면 된다.
냅다 그냥 R, C로 완전탐색 렛츠고 ~
R*C가 N보다 작거나 같아야하므로 R의 범위는 1부터 N까지고, C는 1로 처음 선언하고 for문 내부에서 1씩 증가시키면 된다.
import math
T = int(input())
for tc in range(1, T+1):
min_value = -1
N, A, B = map(int, input().split())
for R in range(1, N+1):
C = 1
while R * C <= N:
value = A * abs(R - C) + B * (N - R * C)
min_value = value if min_value == -1 else min(min_value, value)
C += 1
print(f'#{tc} {min_value}')
