백준

#[C++]1789 - 수들의 합

maeng-kim 2024. 1. 31. 00:30

https://www.acmicpc.net/problem/1789

 

1789번: 수들의 합

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

www.acmicpc.net


문제

서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?

입력

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

출력

첫째 줄에 자연수 N의 최댓값을 출력한다.


코드

#include <iostream>
using namespace std;

int main()
{
    long long s;
    cin >> s;
    
    long long sum=0;
    long long n=1;
    int cnt=0;
    
    while(1) {
        sum = sum+n;
        cnt++;
        if(sum > s) {
            cnt--;
            break;
        }
        n++;
    }
    
    cout << cnt << "\n";
    return 0;
}