提交时间:2022-10-15 11:28:26

运行 ID: 60364

#include<bits/stdc++.h> using namespace std; const int MAXN=1e6,MOD=1e9+7; int n,a[MAXN]; int gsum(int l) { int sum=a[l],prev=a[l]; set<int> mp; mp.insert(a[l]); for(int i=l+1;i<=n;i++) { if(mp.find(a[i])==mp.end()) { mp.insert(a[i]); prev+=a[i]; } sum+=prev; sum%=MOD; } return sum; } int main() { // freopen("J3.in","r",stdin); // freopen("J3.out","w",stdout); int sum=0; ios::sync_with_stdio(0),cin.tie(0); cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { sum+=gsum(i); sum%=MOD; } cout<<sum; return 0; }