fork download
  1. #include <bits/stdc++.h>
  2. #define IOS ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
  3. #define deb(x) cout << #x << " " << x << endl;
  4. #define PI 3.14159265358979323846264338327950L
  5. #define fi(i,a,b) for(int i = a; i<b; i++)
  6. #define ull unsigned long long
  7. #define all(x) x.begin(), x.end()
  8. #define ll long long int
  9. #define ld long double
  10. #define pii pair<int, int>
  11. #define F first
  12. #define S second
  13. #define vi vector<int>
  14. #define N 1000000007
  15. #define endl "\n"
  16. #define pb push_back
  17. #define mp make_pair
  18. using namespace std;
  19.  
  20. int main() {
  21.  
  22. int n; cin >> n; vi arr(n); set<int> s; ll sum = 0;
  23. fi(i, 0, n) {cin >> arr[i];}
  24.  
  25. int j=0;
  26. fi(i, 0, n) {
  27.  
  28. while (j < n && s.find(arr[j]) == s.end()) {
  29. s.insert(arr[j]); j++;
  30. }
  31. sum += ((j - i) * (j - i + 1)) / 2; s.erase(arr[i]);
  32. }
  33. cout << sum % N << endl;
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 4472KB
stdin
Standard input is empty
stdout
11065