- Time limit: 1.00 s
- Memory limit: 128 MB
Tehtäväsi on toteuttaa tietorakenne, joka pitää yllä listaa, jonka jokainen alkio on taulukko. Aluksi listassa on vain yksi taulukko.
Rakenteen tulee tarjota seuraavat operaatiot:
- muuta taulukon alkion arvoksi
- laske taulukon välin lukujen summa
- tee kopio taulukosta ja lisää se listan loppuun
Taulukoissa on lukua, ja ne on indeksoitu . Listassa olevat taulukot on indeksoitu
Syöte
Syötteen ensimmäisellä rivillä on kokonaisluku , taulukon koko.
Seuraavalla rivillä on lukua , jotka kuvaavat taulukon alkusisällön.
Sitten syötteessä on luku , kyselyjen määrä.
Lopuksi syötteessä on riviä, joista jokainen kuvaa yhden kyselyn.
Jos kysely on tyyppiä 1, rivi on muotoa "1 ". Tämä tarkoittaa, että taulukon alkion arvoksi tulee .
Jos kysely on tyyppiä 2, rivi on muotoa "2 ". Tämä tarkoittaa, että täytyy laskea välin summa taulukossa .
Jos kysely on tyyppiä 3, rivi on muotoa "3 ". Tämä tarkoittaa, että taulukosta tehdään kopio listan loppuun.
Tuloste
Tulosta jokaisesta tyypin 2 kyselystä lukujen summa omalle rivilleen.
Rajat
Esimerkki
Syöte:
5 2 3 1 2 5 6 3 1 2 1 1 5 2 2 1 5 1 2 2 5 2 1 1 5 2 2 1 5
Tuloste:
13 13 13 15