카테고리 없음
C# 백준 1789 수들의 합
프로핌
2024. 3. 2. 13:45
수들의 합
시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 | 128 MB | 60210 | 24575 | 20791 | 41.665% |
문제
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
입력
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
출력
첫째 줄에 자연수 N의 최댓값을 출력한다.
예제 입력 1
200
예제 출력 1
19
이 문제는 s의 합이 될때 n개의 최대값을 구해야 하는거기 때문에 1부터 더해가지고 s가 초과될때 출력을 하면 되는 문제 먼저 최대값 n을 플러스하고 나는 200이 될때까지는 그대로 두고 200이 초과되면 break한 다음에 n - 1을 출력하면 답이 나온다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Prob1789_수들의_합
{
class Program
{
static void Main(string[] args)
{
long n = 0;
int ns = 1;
long sum = 0;
long s = long.Parse(Console.ReadLine());
while (true)
{
sum += ns;
n++;
if (sum > s)
{
break;
}
ns++;
}
Console.WriteLine(n - 1);
}
}
}