import sys
input = sys.stdin.readline
n = int(input())
num = list(map(int,input().split()))
k = int(input())
new_num = []
cnt = 0 # 쌍의 개수를 셀 변수
temp = 0 # 리스트에 합 저장할 변수
for i in num:
temp += i
new_num.append(temp)
for i in range(n-1,-1,-1):
j = 0
if new_num[i] > k:
cnt += 1
while new_num[i]-new_num[j] > k:
cnt += 1
j += 1
print(cnt)
temp에 0~N-1 인덱스까지 순차적으로 값을 더하고, 그 값들을 각각 new_num에 저장해준다.
new_num은 그러면 5개의 숫자가 주어졌을 때
인덱스 번호 0 까지의 합, 0~1까지의합 ,0~2까지의 합, 0~3까지의 합 ,0~4 까지의 합이 저장되어있다.
마지막 for문에서 K보다 큰 구간의 횟수를 구하기 위해, 먼저 각 순차적인 구간의 합이 K보다 큰 경우 cnt를 증가시켜주었고,
구간별 차이를 이용해 그 인덱스 1~4까지의 합 2~4까지의합 등등의 값을 각각 구해서 K보다 큰 경우만 cnt를 증가시키게 해주었다.