[입력]
- 첫째줄에 자연수들의 합 S 입력
(1 ≤ S ≤ 4,294,967,295 & S는 자연수)
[출력]
- 서로다른 자연수의 최대 개수 N 출력
서로 다른 자연수의 최대개수를 구하는 문제이기 때문에 무조건 1부터 더한다.
1부터 계속 더해가다보면 입력받은 S보다 커지거나, S와 같아질 때가 있다.
- S보다 큰 상황
---> 가장 마지막에 더한 값 -1이 제일 큰 N
- S보다 크기 때문에 1부터 가장 마지막에 더한 값 사이에서 초과된 값을 빼야한다.
( 이 때, 1 ≤ S보다 초과된 값 ≤ 마지막에 더한 값 이 당연히 성립하므로 )- S와 같은 상황
---> 가장 마지막에 더한 값이 제일 큰 N
나는 위와 같은 상황을 따로 더하는 것이 아닌 S에서 1부터 빼며 해결함.
※ S의 크기를 고려해야함. ( 처음에 int로 했다가 틀렸음. )
멋져...