본문 바로가기

BOJ/JAVA

부분합

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
public class Main {
    static int n,s;
    
    public static void main(String[] args) throws IOException{
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st= new StringTokenizer(br.readLine());
        
        n = Integer.parseInt(st.nextToken()); //물건의 개수 
        s = Integer.parseInt(st.nextToken()); //비교쌍의 개수
        
        int seq[] = new int[100001];
        st= new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            seq[i] = Integer.parseInt(st.nextToken());
        }
        
        int left = 0, right = 0;
        long sum = seq[0];
        int ans = 987654321;
        while(left <= right) {
            if (sum < s) {
                if (right >= n-1break;
                sum += seq[++right];
            }
            else {
                ans = Math.min(ans,  right-left+ 1);
                if (ans < 2break;
                sum -= seq[left++];
            }
        }
        
        if (ans == 987654321System.out.println(0);
        else System.out.println(ans);
    }
}
 
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

'BOJ > JAVA' 카테고리의 다른 글

숨바꼭질  (0) 2020.02.17
영역구하기  (0) 2020.02.17
한 줄로 서기  (0) 2020.02.16
좋은 수열  (0) 2020.02.16
숨바꼭질4  (0) 2020.02.16