문제 링크
- http://icpc.me/2018
사용 알고리즘
- Parametric-Search
시간복잡도
- (sqrtN * logN)
풀이
이 문제와 비슷하지만, 길이의 상한이 없습니다. 상한을 직접 구해야 합니다.
연속된 자연수 몇 개를 더해서 N을 만들 때 자연수의 개수를 최대화 시키려면 1부터 시작해야 한다는 것을 쉽게 알 수 있습니다.
길이를 x라고 하면 x(n+1)/2 = N이기 때문에 x는 O(sqrtN)입니다.
문제에서 N은 최대 1000만이므로, 안전하게 10000까지 보면 시간 내에 풀 수 있습니다.
전체 코드
1 |
|