提交时间:2022-10-15 11:29:53

运行 ID: 60402

#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++) ans=(ans+a[i]*d(n,i))%Mod; for(int i=1; i<n; i++) for(int j=i+1; j<=n; j++) { if(a[i]==a[j]) ans-=a[i]*d(n-j+i,i); if(ans<0) ans+=Mod; } printf("%d\n",ans); return 0; }