[백준 1806] 부분합 <Java>

sso_ojiin·2021년 4월 18일
0

백준

목록 보기
14/15

백준 2003 수들의 합2 응용문제

import java.util.Scanner;

public class 부분합 {
	static int n,s;
	static int arr[];
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		n = sc.nextInt();
		s = sc.nextInt();
		arr = new int[n];
		for(int i=0;i<n;i++) {
			arr[i] = sc.nextInt();
		}
		
		int sum = 0;
        int left=0, right=0;
        int min = Integer.MAX_VALUE;
        while (true){
            if(sum >= s){
                sum -= arr[left++];
                min = Math.min(min, right-left+1);
            }else if(right ==n){
                break;
            }
            else {
                sum += arr[right++];
            }
 
 
        }
        if(min!=Integer.MAX_VALUE)	System.out.println(min);
        else System.out.println(0);
	}
}
profile
SSAFY 5기

0개의 댓글