提交时间:2022-10-15 11:36:54
运行 ID: 60437
#include <bits/stdc++.h> #define ll long long #define mod (long long)(1e9+7) using namespace std; // normal option : SIG(n, i=1)a[i]*i*(n-i+1); int n, a[500003]; map<int, int> m; int lst[500003]; ll ans; int main() { // freopen("J3.in", "r", stdin); // freopen("J3.out", "w", stdout); scanf("%d", &n); for(int i=1; i<=n; i++) { scanf("%lld", a+i); lst[i] = m[a[i]]+1; m[a[i]] = i; } for(int i=1; i<=n; i++) ans = (ans+(ll)a[i]*(i-lst[i]+1)*(n-i+1))%mod; printf("%lld\n", ans); return 0; }