- Time limit: 4.00 s
- Memory limit: 128 MB
Uolevilla on käytössä rajattomasti palikoita, ja hän haluaa rakentaa niistä joukon sanoja. Jokaisessa palikassa on yksi kirjain, ja Uolevi pinoaa niitä päällekkäin. Sana täytyy lukea ylhäältä alaspäin.
Uolevi voi tehdä kaksi operaatiota: lisätä kirjaimen pinon ylimmäksi tai poistaa pinon ylimmän kirjaimen. Kuinka monta operaatiota Uolevin pitää tehdä vähintään, jotta pino on alussa ja lopussa tyhjä ja prosessin aikana palikat muodostavat ainakin kerran jokaisen sanan.
Syöte
Syötteen ensimmäisellä rivillä on kokonaisluku : sanojen määrä. Tämän jälkeen syötteessä on riviä, joista jokainen sisältää yhden sanan. Kaikki sanat muodostuvat kirjaimista A–Z.
Tuloste
Ohjelmasi tulee tulostaa yksi kokonaisluku: pienin mahdollinen operaatioiden määrä.
Rajat
Kaikkien sanojen yhteispituus on enintään merkkiä.
Esimerkki
Syöte:
3 MAIJA KAALI AAPELI
Tuloste:
28
Selitys: Uolevi lisää ensin kirjaimet I, L, A, A, K, jolloin sana KAALI on muodostunut. Sitten hän poistaa kirjaimet K, A, A ja lisää kirjaimet E, P, A, A, jolloin sana AAPELI on muodostunut. Lopuksi hän poistaa kaikki kirjaimet pinosta, lisää sanan MAIJA kirjaimet ja poistaa taas kaikki kirjaimet. Yhteensä operaatioita on 28.