Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

The Smallest Window I

For a given array $a_1, a_2, a_3, ... , a_N$ of $N$ elements and an integer $S$, find the smallest sub-array size (smallest window length) where the sum of the sub-array is greater than or equal to $S$. If there is not such sub-array, report 0.

Constraints

$1 \leq N \leq 10^5$

$1 \leq S \leq 10^9$

$1 \leq a_i \leq 10^4$

Input

The input is given in the following format.

$N$ $S$

$a_1$ $a_2$ ... $a_N$

Output

Print the smallest sub-array size in a line.

Sample Input 1

6 4
1 2 1 2 3 2

Sample Output 1

2

Sample Input 2

6 6
1 2 1 2 3 2

Sample Output 2

3

Sample Input 3

3 7
1 2 3

Sample Output 3

0

Solution in JAVA (judge verdict: Wrong Answer)

import java.util.*;

class Main {
        public static void main(String args[]) {
                try (Scanner sc = new Scanner(System.in)) {
                        int N = sc.nextInt();
                        long S = sc.nextLong();
                        long[] A = new long[N];
                        for (int i = 0; i < N; i++) {
                                A[i] = sc.nextLong();
                        }
                        int i = 0, j = 0, sum = 0, ans = 10000000;
                        while (j < N) {
                                if (sum >= S) {
                                        ans = Math.min(j - i, ans);
                                        sum -= A[i];
                                        i++;
                                } else {
                                        sum+=A[j];
                                        j++;
                                }
                        }
                        if (ans == 10000000) {
                                ans = 0;
                        }
                        System.out.println(ans);
                }
        }
}