TLE

haha12 Reply 4 years 28 weeks ago
가장 작은 a를 찾는데에 종료조건이 있나요? 아니면 굳이 1부터 n까지 다 안봐도 되는건가요? ㅠㅠ 감사합니다!
withcs2 Reply 4 years 28 weeks ago
1부터 n까지 다 보면서 if (temp_a < a && temp_b >= 0) 이렇게 찾지 않고 애초에 for문에서 temp_a < a && temp_b >= 0 인 경우만 보면 됩니다. temp_a < a 는 어차피 당연한거고 (* a가 1000000보다 클 수도 있어요) temp_b >=0 은 j가 k보다 크거나 같은 경우를 뜻합니다. j ≥ k => j ≥ n/j => j*j ≥ n => j ≥ 루트n 그러므로 for (int j=sqrt(n); j<=n; j++) 이러면 temp_a < a && temp_b >= 0 인 범위만 찾는 거예요
haha12 Reply 4 years 28 weeks ago
오오오~~!! 네 알겠습니다! 감사합니다!!!