hantaehee   3년 전

판매량을 1에서부터 반복시키면 몇억번 반복되면서 시간초과가 되는걸로 보여서 이진탐색과 유사하게 진행해봤습니다..

그래프를 그려보니 c값이 b값보다 커야만 손익분기점이 나올거 같아서 1차적으로 걸러내고, 나머지는 int형의 최대에서 반으로 계속 쪼개면서 판매량이 어디에 위치해있는지 찾는 알고리즘을 구현해 보려고 했으나 이렇게 해도 시간초과가 나오네요..

아무 값이나 테스트케이스에 넣어도 시간문제가 될만큼 반복시행되지 않고 바로바로 값이 나오는것 같은데 그렇다면 어떤값에서 무한루프가 도는걸까요..?

나름 혼자 해결해보려고 노력하고, 질문게시판을 많이 참고했는데도 해결이 안되어서 답답한 마음에 도움을 요청해봅니다ㅠㅠ

ghkdiwl   3년 전

시간제한이 0.35초고 범위도 A,B,C 모두 21억 대라 이분탐색으로도 시간 부족할거에요.

이문제는 그냥

A + Bx > Cx

A > (C-B)x

x<(C-B)/A 일떄의 x를 구하는거라

결국 답 x = (C-B)/A + 1 과 같습니다.

여기서 C가 B보다 작은경우 예외처리만 해주시면 돼요

6줄 내외로 해결되실거에요

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