提交时间:2022-10-17 13:28:39

运行 ID: 60778

#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll Mod=1e9+7; ll n,a[500001],ans; int d(int i,int j) { return j*(i-j+1); } int main() { scanf("%d",&n); for(int i=1; i<=n; i++) scanf("%d",&a[i]); for(int i=1; i<=n; i++) { int j; for(j=i+1; j<=n; j++) if(a[i]==a[j]) break; ans=(ans+a[i]*(d(n,i)-d(n-j+i,i)))%Mod; } printf("%d\n",ans); return 0; }