서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? (1 S 4,294,967,295)
이므로 를 고려하면 안에 풀 수 있다.
최대한 서로 다른 수들의 합이려면 구조가 이렇게 된다.
인 이 존재하며 이 때 답인 N=이 된다.
import sys
#sys.stdin = open('input.txt', 'r')
sys.setrecursionlimit(int(1e5))
input = sys.stdin.readline
S = int(input())
ans = 1
for i in range(1, S):
total = i + i * (i + 1) // 2
if total < S:
ans = i + 1
else:
break
print(ans)