Problem:
Score : 200 points

Problem Statement

A ball will bounce along a number line, making N + 1 bounces. It will make the first bounce at coordinate D_1 = 0, and the i-th bounce (2 \leq i \leq N+1) at coordinate D_i = D_{i-1} + L_{i-1}.

How many times will the ball make a bounce where the coordinate is at most X?

Constraints

1 \leq N \leq 100

1 \leq L_i \leq 100

1 \leq X \leq 10000

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N X
L_1 L_2 ... L_{N-1} L_N

Output

Print the number of times the ball will make a bounce where the coordinate is at most X.

Sample Input 1

3 6
3 4 5

Sample Output 1

2

The ball will make a bounce at the coordinates 0, 3, 7 and 12, among which two are less than or equal to 6.

Sample Input 2

4 9
3 3 3 3

Sample Output 2

4

The ball will make a bounce at the coordinates 0, 3, 6, 9 and 12, among which four are less than or equal to 9.

Solution in C (GCC 5.4.1) (judge verdict: Accepted)

#include <stdio.h>
#include <stdlib.h>

int main () {
    int N;
    int X;
    scanf("%d", &N);
    scanf("%d", &X);

    int *L = malloc((N + 1) * sizeof(int));
    int ans = 0;
    int *D = malloc((N + 1) * sizeof(int));
    D[1] = 0;
    for (int i = 1; i <= N; i++) {
        scanf("%d", &L[i]);
        if (i >= 2) {
            D[i] += D[i-1] + L[i-1];
            if (D[i] > X){
                ans = i - 1;
                printf("%d\n", ans);
                return 0;
            }
        }
    }
    if ((D[N] + L[N]) > X)
        ans = N;
    else
        ans = N + 1;
    printf("%d\n", ans);

    return 0;
}