백준공부/java
[백준] 1806번 부분합 (gold 4
gomduri43
2023. 12. 20. 15:06
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st=new StringTokenizer(br.readLine());
int n=Integer.valueOf(st.nextToken());
int m=Integer.valueOf(st.nextToken());
int[] num=new int[n];
st=new StringTokenizer(br.readLine());
for(int i=0; i<n; i++){
num[i]=Integer.valueOf(st.nextToken());
}
int sum=num[0];
int count=1;
int left=0;
int min=Integer.MAX_VALUE;
for(int i=1; i<n+1; ){
if(sum>=m && left<i){
min=Math.min(min,count);
sum-=num[left];
left++;
count--;
}
else if(sum<=m && i<n){
sum+=num[i];
count++;
i++;
}
else{
break;
}
}
bw.write(min==Integer.MAX_VALUE ? "0" : min+"");
bw.flush();
}
}