[DHBB24 - CLK - 11] Bài 2

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Có ~n~ gian hàng đánh số từ 1 đến ~n~, có ~m~ loại hàng hóa khác nhau đánh số từ 1 đến ~m~ được bày bán tại các gian hàng. Mỗi gian hàng ~i~ chỉ bán một loại là ~a_i~. An có kế hoạch sẽ mua hàng tại một vài gian hàng liên tiếp nhau từ gian hàng ~l~ đến gian hàng ~r~. An đánh giá kế hoạch ~(l, r)~ như sau:

  • Giả sử khi mua toàn bộ hàng hóa từ địa điểm ~l~ tới ~r~, có ~k~ loại hàng An chưa mua được, lần lượt là ~c_1, c_2, \dots, c_k~.
  • Sự thất vọng sẽ bằng ~c_1 + c_2 + \dots + c_k~.

Để tính sự thất vọng của các gian hàng này trước khi giới thiệu cho bạn bè, An cần tính tổng sự thất vọng của toàn bộ các kế hoạch ~(x, y)~ với ~1 \le x \le y \le n~ (nói cách khác là đoạn các gian hàng liên tiếp).

Yêu cầu: Hãy tính tổng sự thất vọng theo mô tả trên.

Input

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~ (~1 \le n \le 2 \times 10^5~, ~1 \le m \le 10^9~) lần lượt là số gian hàng và số loại hàng hóa.
  • Dòng thứ 2 chứa ~n~ số ~a_1, a_2, \dots, a_n~ (~1 \le a_i \le m~) là loại hàng được bày bán tại các gian hàng. Lưu ý rằng có thể có các tiệm khác nhau cùng bán một loại, hoặc có loại không có gian hàng nào bán.

Output

  • In ra tổng sự thất vọng của mọi đoạn gian hàng liên tiếp. Vì kết quả có thể rất lớn, hãy in ra sau khi chia lấy dư cho ~998244353~.

Sample Input 1

3 4
1 2 3

Sample Output 1

40

Sample Input 2

8 4
2 3 1 2 4 3 1 3

Sample Output 2

124

Bình luận

Hãy đọc nội quy trước khi bình luận.


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