CSES 3150 - Distinct Values Sum
1.0s 512M給定一個陣列 \(x_1,x_2,\dots,x_n\)。令 \(d(a,b)\) 表示子陣列 \(x_a,x_{a+1},\dots,x_b\) 中相異值的數量。
你的任務是計算總和 \(\sum_{a=1}^n \sum_{b=a}^n d(a,b)\),也就是所有子陣列的 \(d(a,b)\) 之和。
輸入格式
第一行有一個整數 \(n\):陣列的大小。
第二行有 \(n\) 個整數 \(x_1,x_2,\dots,x_n\):陣列的內容。
輸出格式
輸出一個整數:所求的總和。
範例輸入 1
5
1 2 3 1 1
範例輸出 1
29
說明:在這個陣列中,有 \(6\) 個子陣列只含 \(1\) 種相異值,有 \(4\) 個子陣列含 \(2\) 種相異值,有 \(5\) 個子陣列含 \(3\) 種相異值。因此總和為 \(6\cdot1+4\cdot2+5\cdot3=29\)。
限制
- \(1 \le n \le 2 \cdot 10^5\)
- \(1 \le x_i \le 10^9\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入