#!/usr/bin/python3 #coding=utf8 n=int(input()) #přečteme si ze vstupu nejvyšší číslo ceny a=list(map(int,input().split())) #zadaná posloupnost posledni_vyskyty = [-1 for x in range(n)] #inicializace pole, ve kterém budeme udržovat poslední výskyt každé ceny #na začátku je poslední výskyt na minus prvním poli maximum = 0 #nejvetší délka validní podposloupnosti, jakou jsme zatím objevili zacatek = 0 for i in range(len(a)): aktualni = a[i]; if (posledni_vyskyty[aktualni]>=zacatek): #právě se nám pokazila nějaká posloupnost if (i-zacatek+1>maximum): maximum = i-zacatek+1 nejlepsi_zacatek = zacatek+1 nejlepsi_konec = i zacatek=posledni_vyskyty[aktualni]+1 posledni_vyskyty[aktualni]=i; #aktualizujeme si poslední výskyt dané ceny if (len(a)-zacatek+1>maximum): nejlepsi_zacatek = zacatek nejlepsi_konec = len(a) print (posledni_vyskyty) print (str(nejlepsi_zacatek)+" "+str(nejlepsi_konec))