Evergreen Tree

Xem PDF

Nộp bài


Điểm: 25 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 512M

Tác giả:
Dạng bài

Cho dãy số nguyên dương \(A_1\), \(A_2\), \(A_3\),..., \(A_N\). Ta gọi một dãy con (không nhất thiết liên tiếp) \([B_1, B_2,...,B_k]\) của \(A\) là một dãy con đẹp nếu \(B_1\le B_k\). Ví dụ, nếu \(A=[1, 3, 2]\) thì các dãy con \([1, 3]\), \([1, 2]\), và \([1, 3, 2]\) là các dãy con đẹp, còn \([3, 2]\) thì không phải.

Bạn hãy viết chương trình đếm số lượng dãy con đẹp của \(A\). Vì kết quả có thể rất lớn nên bạn chỉ cần in ra phần dư của nó khi chia cho \(998244353\).

Input
  • Dòng đầu chứa số nguyên \(N\) \(\left(2\leq N\leq 3\times 10^5\right)\).
  • Dòng tiếp theo chứa \(N\) số nguyên dương \(A_1\), \(A_2\),..., \(A_N\). Các số có giá trị không vượt quá \(10^9\).
Output
  • In ra số lượng dãy con đẹp của \(A\) \(\text{mod}\) \(998244353\).
Ví dụ
Sample input 01
3
1 3 2
Sample output 01
3
Sample input 02
3
1 3 3
Sample output 02
4
Giải thích

Hai dãy con dù cùng giá trị \([1, 3]\) nhưng khác nhau về chỉ số phần tử thì vẫn được tính là khác nhau.

Sample input 03
4
1 2 3 4
Sample output 03
11