snrnsidy   3년 전

문제에 따르면 k1>0, k2>0일 때, n*k1*k2<=10^7을 만족한다고 문제에 나와있습니다.

그러나 assert(n * k1 * k2 < 10000000);로 확인해본 결과 assertfailed가 나옵니다.

이에 대해서 확인 부탁드립니다.


제가 문제 조건을 잘 확인하지 못했습니다. 게시글은 혹시라도 다른 분이 봤을 때 도움이 될 수도 있을 거 같아서 남겨두도록 하겠습니다.

jh05013   3년 전

<=이 아니라 <을 확인하셨나요?

snrnsidy   3년 전

확인해보니 <로 했었는데 방금 아래 코드와 같이 <=로 다시 한번 해봐도 똑같이 나오네요.... 또 overflow 문제가 있을 수 있을 거 같아서 long long으로 받아서 했는데도 assertionfailed가 나오네요.

dtc03012   3년 전

n * k1 이 10^7 보다 작고 k2 가 n 보다 클 경우에 n * k1 * k2 가 10^7을 넘어갈 수 있습니다.

snrnsidy   3년 전

아... k_i<=n이여야 한다고 생각했는데 문제에서는 그런 조건이 없었군요.

댓글을 작성하려면 로그인해야 합니다.