func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 300500;   int n, a[N];   vector<int> v;   int cnt[N];   vector<int> all;   int main() {     scanf( %d , &n);     for (int i = 1; i <= n; ++i) {       scanf( %d , &a[i]);       v.push_back(a[i]);     }     sort(v.begin(), v.end());     v.resize(unique(v.begin(), v.end()) - v.begin());     if (n == (int)v.size()) {       cout << -1;       return 0;     }     for (int i = 1; i <= n; ++i) {       a[i] = lower_bound(v.begin(), v.end(), a[i]) - v.begin() + 1;     }     vector<pair<int, int> > ans;     for (int i = 1; i <= n; ++i) {       int id = -1;       for (int j = i; j <= n; ++j) {         if (cnt[a[j]]) {           id = j;           break;         }         ++cnt[a[j]];       }       if (id == -1) {         ans[(int)ans.size() - 1].second = n;         break;       } else {         ans.push_back(make_pair(i, id));         for (int j = i; j <= id; ++j) cnt[a[j]] = 0;         i = id;       }     }     printf( %d n , (int)ans.size());     for (int i = 0; i < (int)ans.size(); ++i)       printf( %d %d n , ans[i].first, ans[i].second);     return 0;   }   