Đếm đoạn có tổng nhỏ hơn t

Đề bài

Mô tả

Cho dãy số nguyên a1,a2,…,an gồm n phần tử (có thể âm, 0 hoặc dương) và một số nguyên t.

Hãy đếm số cặp chỉ số (l,r) với 1≤l≤r≤n sao cho tổng các phần tử trên đoạn [l,r] nhỏ hơn t, tức là:

al+al+1+…+ar<t.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và t.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

In ra một số nguyên duy nhất — số đoạn con liên tiếp có tổng nhỏ hơn t.

Ràng buộc

  • 1≤n≤200000
  • |t|≤2·1014
  • |ai|≤109

Ví dụ

Input Output Giải thích
5 4
5 -1 3 4 -1
5 Các đoạn có tổng nhỏ hơn 4: [2,2] (tổng −1), [2,3] (tổng 2), [3,3] (tổng 3), [4,5] (tổng 3), [5,5] (tổng −1).
3 0
-1 2 -3
4 Các đoạn có tổng âm: [1,1], [1,3], [2,3], [3,3].
4 -1
-2 1 -2 3
3 Các đoạn có tổng nhỏ hơn −1: [1,1] (tổng −2), [1,3] (tổng −3), [3,3] (tổng −2).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0