CSES - Distinct Values Sum | Tổng số giá trị phân biệt

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn được cho một mảng \(x_1,x_2,\dots,x_n\). Gọi \(d(a,b)\) là số giá trị phân biệt trong mảng con \(x_a,x_{a+1},\dots,x_b\).

Nhiệm vụ của bạn là tính tổng \(\sum_{a=1}^n \sum_{b=a}^n d(a,b)\), tức là tổng của \(d(a,b)\) trên tất cả các mảng con.

Input

Dòng đầu tiên chứa một số nguyên \(n\): kích thước mảng.

Dòng tiếp theo chứa \(n\) số nguyên \(x_1,x_2,\dots,x_n\): các phần tử của mảng.

Output

In ra một số nguyên: tổng cần tìm.

Constraints

  • \(1 \le n \le 2 \cdot 10^5\)

  • \(1 \le x_i \le 10^9\)

Example

Test 1

Input
5
1 2 3 1 1
Output
29

Explanation

Trong mảng này, có \(6\) mảng con có \(1\) giá trị phân biệt, \(4\) mảng con có \(2\) giá trị phân biệt và \(5\) mảng con có \(3\) giá trị phân biệt. Do đó, tổng là \(6\cdot1+4\cdot2+5\cdot3=29\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.