본문 바로가기

카테고리 없음

[softeer/c++] [21년 재직자 대회 본선] 코딩 테스트 세트

 

 

  • di는 ci로 갈 수도, ci+1 로 갈 수도 있음
  • ci, di 범위 주의 -> double이나 long long으로 선언
  • 1부터 늘려가면서 가능한 세트 수를 확인해본다면 O(N*T*2*10^12) 이라서 불가능
  • 출력값을 0부터 10^12까지 이진탐색해서 최댓값 구하기 -> 2*10^12가 logN으로 줄어듦
  • ci가 이미 num보다 크다면 di는 ci+1에 줌
  • ci가 num보다 작으면 ci+di가 num보다 큰지 확인, 
    • 크다면 ci+1는 di에서 ci에 주고 남은 거 줌
    • 크지 않으면 false