#include #include #include #include #include #include #include #include #include #include #include #include #include #define FF(i, a, b) for(int i=a; ib; i--) #define CLR(a, b) memset(a, b, sizeof(a)) #define REP(i, n) for(int i=0; i q; LL ans = -1, cnt = 0, tmp = 0; int j = 1; FF(i, 1, n+1) { scanf("%d", &a); if(!vis[a]) cnt++; vis[a]++; q.push(a); tmp += a; while(vis[q.front()] > 1) { vis[q.front()] -= 1; q.pop(); j++; tmp -= q.front(); } if(cnt > k) { vis[q.front()]--; q.pop(); ++; tmp -= q.front(); } if(cnt == k && (ans == -1 || ans > tmp)) { ans = tmp, r = i; } } if(ans == -1) puts("-1 -1"); else printf("%d %d\n", l, r); } return 0; }