- Time limit: 4.00 s
- Memory limit: 128 MB
Uolevin algoritmi on ollut käynnissä jo kolme kuukautta, ja siksi hän on alkanut epäillä sen jääneen ikuiseen silmukkaan. Uolevi suorittaa algoritmia uudella tietokoneellaan, jossa on 128 kilotavun muisti. Uolevi tietää, että ohjelma on jäänyt silmukkaan, jos täsmälleen sama muistin sisältö toistuu kahdesti suorituksen aikana. Sinun täytyy toteuttaa algoritmi, joka tunnistaa, milloin aiemmin esiintynyt muistin tila toistuu ensimmäisen kerran.
Tietokone on 16-bittinen, joten muistia käsitellään taulukkona, jossa on kohdat , ja jokaisessa kohdassa on arvo väliltä .
Ohjelman suorituksen aluksi kaikissa kohdissa on arvo . Ohjelmallesi kerrotaan järjestyksessä muistiin tehtävät päivitykset.
Syöte
Ensimmäisellä syötteen rivillä on päivitysten määrä .
Seuraavat riviä sisältävät päivitykset, eli luvut ja , joka tarkoittaa että muistin kohdan arvoksi tulee .
Tuloste
Tulosta pienin siten, että . päivityksen jälkeen muistin tila on sama kuin aikaisemmin. Mikäli tällaista ei ole olemassa, tulosta YAY.
Rajat
Huomautus
Joissain testitapauksissa samaa muistin tilaa voi seurata eri päivitys.
Esimerkki
Syöte:
6 1 5 4 7 8 3 4 0 8 0 5 4
Tuloste:
5