TopCoder

User's AC Ratio

100.0% (2/2)

Submission's AC Ratio

100.0% (2/2)

Tags

Description

老方剛學習 C++ 程式語言,最近他學到一種叫做陣列的資料結構,他有一個長度為 $N$ 的陣列 $a_1, a_2, \ldots, a_N$,他想知道給定整數 $x$,有多少數對 $(l, r)$ 滿足 $1 \leq l \leq r \leq n$ 使得區間 $[l, r]$ 中的元素和小於 $x$,也就是 $a_l + a_{l + 1} + \cdots + a_r < x$,這讓老方遇到了困難,請你幫助他完成任務。

Input Format

輸入第一行包含兩個整數 $N, x (1 \leq N \leq 2 \times 10^ 5, |x| \leq 10^ {14})$。
輸入第二行包含 $N$ 個整數 $a_1, a_2, \ldots, a_N (|a_i| \leq 10^ 9)$。

Output Format

請輸出一個整數代表有多少區間的元素和小於 $x$。

Sample Input 1

5 4
5 -1 3 4 -1

Sample Output 1

5

Sample Input 2

3 0
-1 2 -3

Sample Output 2

4

Sample Input 3

4 -1
-2 1 -2 3

Sample Output 3

3

Hints

Problem Source

Codeforces

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資 0
2 0~28 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 1 2
2 1000 524288 65536 1 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2
9 1000 524288 65536 2
10 1000 524288 65536 2
11 1000 524288 65536 2
12 1000 524288 65536 2
13 1000 524288 65536 2
14 1000 524288 65536 2
15 1000 524288 65536 2
16 1000 524288 65536 2
17 1000 524288 65536 2
18 1000 524288 65536 2
19 1000 524288 65536 2
20 1000 524288 65536 2
21 1000 524288 65536 2
22 1000 524288 65536 2
23 1000 524288 65536 2
24 1000 524288 65536 2
25 1000 524288 65536 2
26 1000 524288 65536 2
27 1000 524288 65536 2
28 1000 524288 65536 2