Sereja và các dãy con

Đề bài

Mô tả

Cho dãy số nguyên dương a1,a2,,an.

Xét tất cả các dãy con không giảm phân biệt của a. Với mỗi dãy con y=(y1,y2,,yr) thu được, đếm số dãy số nguyên dương x=(x1,x2,,xr) cùng độ dài thỏa mãn x1y1, x2y2, , xryr.

Hãy tính tổng số lượng dãy x đếm được trên tất cả các dãy con không giảm phân biệt của a. Vì kết quả có thể rất lớn, hãy in ra theo modulo 109+7.

Hai dãy con được coi là phân biệt nếu chúng khác nhau khi so sánh theo giá trị (không tính vị trí xuất hiện trong a). Ví dụ, với dãy a=(1,2,2), hai dãy con không giảm phân biệt chứa cả hai giá trị 12 chỉ được tính một lần là (1,2).

Dữ liệu vào

  • 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

In ra một số nguyên duy nhất là đáp án theo modulo 109+7.

Ràng buộc

  • 1n105
  • 1ai106

Ví dụ

Input Output Giải thích
1
42
42 Dãy con không giảm phân biệt duy nhất là (42), có 42 dãy x thỏa mãn.
3
1 2 2
13 Các dãy con không giảm phân biệt: (1),(2),(1,2),(2,2),(1,2,2). Số dãy x tương ứng lần lượt là 1,2,1·2,2·2,1·2·2, tổng bằng 13.
5
1 2 3 4 5
719 Tổng trên 31 dãy con không giảm phân biệt.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0