[백준] 1789번 수들의 합 (java, 이분탐색)

728x90
반응형

www.acmicpc.net/problem/1789

 

1789번: 수들의 합

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

www.acmicpc.net

 

package algo0501;

import java.util.Scanner;

public class B_1789_수들의합_Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		long s=sc.nextLong();
		long left=1;
		long right=s;
		long answer=0;
		while(left<=right) {
			long mid=(left+right)/2;
			if(mid*(mid+1)/2<=s) {
				answer=mid;
				left=mid+1;
			}else {
				right=mid-1;
			}
		}
		System.out.println(answer);
	}
}
728x90
반응형
TAGS.

Comments