20037번 - Bit String
문제에 따르면 k1>0, k2>0일 때, n*k1*k2<=10^7을 만족한다고 문제에 나와있습니다.
그러나 assert(n * k1 * k2 < 10000000);로 확인해본 결과 assertfailed가 나옵니다.
이에 대해서 확인 부탁드립니다.
제가 문제 조건을 잘 확인하지 못했습니다. 게시글은 혹시라도 다른 분이 봤을 때 도움이 될 수도 있을 거 같아서 남겨두도록 하겠습니다.
<=이 아니라 <을 확인하셨나요?
확인해보니 <로 했었는데 방금 아래 코드와 같이 <=로 다시 한번 해봐도 똑같이 나오네요.... 또 overflow 문제가 있을 수 있을 거 같아서 long long으로 받아서 했는데도 assertionfailed가 나오네요.
n * k1 이 10^7 보다 작고 k2 가 n 보다 클 경우에 n * k1 * k2 가 10^7을 넘어갈 수 있습니다.
아... k_i<=n이여야 한다고 생각했는데 문제에서는 그런 조건이 없었군요.
댓글을 작성하려면 로그인해야 합니다.
snrnsidy 3년 전
문제에 따르면 k1>0, k2>0일 때, n*k1*k2<=10^7을 만족한다고 문제에 나와있습니다.그러나 assert(n * k1 * k2 < 10000000);로 확인해본 결과 assertfailed가 나옵니다.이에 대해서 확인 부탁드립니다.
제가 문제 조건을 잘 확인하지 못했습니다. 게시글은 혹시라도 다른 분이 봤을 때 도움이 될 수도 있을 거 같아서 남겨두도록 하겠습니다.