mostenire

Time limit: 0.1s Memory limit: 8MB Input: mostenire.in Output: mostenire.out

Regele Rufus dorește să stabilească moștenitorul averii sale, adică să ofere parola de la seif celui mai deștept dintre fiii săi. Inițial, regele a avut parola XX formată din NN cifre nenule și un cod cheie QQ (număr natural cu exact 99 cifre, distincte, toate nenule). În fiecare an din cei KK ani de domnie, folosind codul cheie QQ, Rufus a modificat câte o secvență de cifre din parolă ajungând la parola finală PP.

Pentru fiecare secvență se cunoaște poziția SS a primei cifre din secvență și poziția DD a ultimei cifre din secvență. Astfel, secvența este formată din cifrele situate pe pozițiile SS, S+1S+1, S+2S+2, \dots, DD în parola XX.

Modificarea unei secvențe din XX constă în înlocuirea fiecărei apariții a cifrei 11 cu prima cifră a lui QQ, apoi a fiecărei apariții a cifrei 22 cu a doua cifră a lui QQ, \dots, a fiecărei apariții a cifrei 99 cu ultima cifră a lui QQ.

Pentru a decide moștenitorul, regele le dă fiilor parola finală PP, codul cheie QQ, numărul KK de ani de domnie și cele KK secvențe de cifre care au fost modificate și le cere să găsescă: parola inițială XX, poziția minimă ZZ din parola XX care a apărut în cele mai multe secvențe dintre cele modificate de rege de-a lungul celor KK ani de domnie și cifrele distincte care au ocupat poziția ZZ în cei KK ani.

Cerință

Scrieţi un program care citește numerele QQ, NN, KK, cele NN cifre ale parolei finale PP și cele KK perechi de poziții SS și DD, și care rezolvă următoarele două cerinţe:

  1. Determină parola inițială XX;
  2. Determină poziția minimă ZZ și cifrele distincte care au ocupat această poziție în cei KK ani de domnie.

Date de intrare

Fișierul de intrare mostenire.in conține pe prima linie un număr natural CC reprezentând cerința din problemă care trebuie rezolvată (11 sau 22).
A doua linie din fișier conține cele trei numere naturale QQ, NN și KK, separate prin câte un spațiu.
A treia linie din fisier conține cele NN cifre ale parolei finale PP, separate prin câte un spațiu.
Fiecare linie dintre următoarele KK, conține câte două numere naturale SS și DD, separate printr-un singur spațiu, reprezentând câte o pereche de poziții.

Date de ieșire

Dacă C=1C=1, fișierul de ieşire mostenire.out va conţine pe prima linie cele NN cifre ale parolei initiale XX, separate prin câte un spațiu, în ordinea în care apar în XX, reprezentând răspunsul la cerința 11.

Dacă C=2C=2, fișierul de ieşire mostenire.out va conţine pe prima linie numărul natural ZZ, iar pe a doua linie cifrele distincte care au apărut pe poziția minimă ZZ, reprezentând răspunsul la cerința 22. Acestea vor fi afișate în ordine crescătoare, separate prin câte un spațiu.

Restricții și precizări

  • 1N10 0001 \leq N \leq 10 \ 000;
  • Numărul natural QQ este format din exact 99 cifre, distincte și nenule;
  • Pozițiile cifrelor din parola XX sunt numerotate cu numerele distincte consecutive 11, 22, \dots, NN;
  • 1K1001 \leq K \leq 100;
  • Pentru toate perechile de poziții modificate de rege: SDS \leq D;
  • Cel puțin o cifră din parola XX va fi înlocuită;
  • Pentru rezolvarea corectă a cerinţei 11 se acordă 5050 de puncte;
  • Pentru rezolvarea corectă a cerinței 22 se acordă 5050 de puncte.

Exemplul 1

mostenire.in

1
712534698 12 4
1 4 7 1 3 4 7 1 4 8 1 8
2 4
6 11
3 9
1 7

mostenire.out

2 7 3 5 4 1 3 3 7 9 2 8

Explicație

Cerinţa este 1, N=12, K=4.

Exemplul 2

mostenire.in

2
712534698 12 4
1 4 7 1 3 4 7 1 4 8 1 8
2 4
6 11
3 9
1 7

mostenire.out

3
1 2 3 7

Explicație

Cerinţa este 22, N=12N=12, K=4K=4.
P=(1 4 7 1 3 4 7 1 4 8 1 8)P=(1 \ 4 \ 7 \ 1 \ 3 \ 4 \ 7 \ 1 \ 4 \ 8 \ 1 \ 8)
Pozițiile care au apărut în cele mai multe secvențe sunt: 3,4,6,7Z=33, 4, 6, 7 \rightarrow Z=3, iar cifrele distincte care au ocupat succesiv această pozitie sunt 3,2,1,73, 2, 1, 7. Aceste cifre se vor scrie în fișier în ordine crescătoare.

Log in or sign up to be able to send submissions!