-
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); int N = Integer.parseInt(st.nextToken()); int S = Integer.parseInt(st.nextToken()); int sum[] = new int[N+1]; st = new StringTokenizer(br.readLine(), " "); sum[0] = 0; for(int i=1; i<=N; i++) { sum[i] = Integer.parseInt(st.nextToken()) + sum[i-1]; } int left = 0; int right = 1; int value = 0; int result = Integer.MAX_VALUE; while(left<right && right<=N) { value = sum[right] - sum[left]; if(value>=S) { left++; result = Math.min(result, right-left + 1); }else { right++; } } // 합을 만드는 것이 불가능하다면 0을 출력 if(result== Integer.MAX_VALUE) { result = 0; } System.out.println(result); } }