Ăn hết đi!

Đề bài

Mô tả

Cho một dãy gồm n số nguyên a1,a2,…,an, trong đó ai có thể âm, bằng 0 hoặc dương.

Người thứ nhất lấy toàn bộ dãy, tổng giá trị của người này là S=a1+a2+⋯+an.

Người thứ hai chọn một đoạn liên tiếp [l,r] với 1≤l≤r≤n nhưng không được chọn toàn bộ dãy (tức là (l,r)≠(1,n)), rồi lấy tổng al+al+1+⋯+ar.

Người thứ nhất được xem là thắng nếu tổng S của họ luôn lớn hơn thực sự tổng của người thứ hai, với mọi cách chọn đoạn [l,r] hợp lệ của người thứ hai.

Hãy xác định xem người thứ nhất có thắng hay không.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số lượng bộ dữ liệu.
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa số nguyên n.
    • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra YES nếu người thứ nhất luôn thắng, ngược lại in ra NO.

Ràng buộc

  • 1≤t≤104
  • 2≤n≤105
  • −109≤ai≤109
  • Tổng của n trên tất cả các bộ dữ liệu không vượt quá 105.

Ví dụ

Input Output Giải thích
3
4
1 2 3 4
3
7 4 -1
3
5 -5 5
YES
NO
NO
Bộ 1: mọi đoạn con thực sự đều có tổng nhỏ hơn 10. Bộ 2: đoạn [1,2] có tổng 11≥10. Bộ 3: đoạn [3,3] có tổng 5, bằng S=5 nên không lớn hơn thực sự.
1
2
0 0
NO S=0, đoạn [1,1] có tổng 0 không nhỏ hơn S.

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