bsdlcksdn   9달 전

이분탐색? 으로 풀려고 해서 나름 짜봤습니다.

도무지 이해가 잘 안되서 질문 올립니다.

질문 게시판에 보니까

4 4

2

1

2

같은 경우에는 답이 1이라고 하시는데;; 2가 되야 맞는거아닌가요??

(이런케이스에는 1이 버려지는겁니까? 1개로 쳐지는 겁니까?? 1개로 쳐지면 2가 맞는것 같은데요;;

그리구 위의 케이스에서  결과가 '2이상의 임의의 값' 이어도 맞는 경우가 아닌가요..?(결과적으론 4개가 나오니....)

다른 예시로

3 6

40

20

1

은 값이 10이라구 하시더라고요.. 이걸보면 또 1을 1개로 쳐서 7개로 만들어서 통과한건지....

1을버리고 6개로 통과한건지 잘 모르겠습니다.

뭘 잘못이해하고 있는건가요..?


cubelover   9달 전

정해긴 길이만큼 잘라내서 만드는 겁니다.

첫 번째 예시의 경우 길이가 2면 2개밖에 만들지 못하기 때문에 안되고, 길이가 1이면 6개를 만들 수 있으므로 4개 이상이라서 가능합니다.

두 번째 예시의 경우 길이가 10이면 40에서 4개, 20에서 2개가 나와서 총 6개이므로 답이 10이 됩니다.

bsdlcksdn   9달 전

답변 정말 감사합니다. ㅎ;;;

소스를 다음과 같이 바꿔보구.. 웬만한 테스트케이스 돌려봐두 맞게나오는데 틀리다고 하네요. ㅠㅠ 

어디가 틀렸는지 힌트를 받을 수 있을까요?

cubelover   9달 전

10000*1000000이 int 범위를 초과합니다.

bsdlcksdn   9달 전

ㅋㅋㅋㅋ;;  int line[100010]; 말씀하시는 건가요....? 그래서 long long int로 바꿔봤는데 안되네요;;

안물어보고 풀려고했는데;;; 한 10번넘게틀리니까 빡쳐서 못풀겟어요 ㅠㅠ;

search는 이분탐색이니까 long(n)인가?  그러니까 만*백만이 어디말씀하시는건지를 모르겠네요;;

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