Prieteni

Time limit: 0.2s Memory limit: 64MB Input: prieteni.in Output: prieteni.out

Cerință

Bogdan are pe o foaie de hartie un șir de numere naturale nenule, numit AA. El s-a gândit să transforme șirul în felul următor:

  1. Mai întâi împarte toate elementele șirului AA în 33 secvențe disjuncte pe care le notează XX, YY, ZZ (XX este secvența cu elementele de la început, ZZ cea cu elementele de la final și YY cea cu elementele rămase în interior; fiecare dintre cele 33 secvențe trebuie să aibă cel puțin un element). Această împărțire o face astfel încât lungimea secvenței YY să fie cel mult egală cu jumătate din lungimea șirului dat AA.
  2. Elimină secvența YY din șir. Apoi, la acest pas, secvențele XX și ZZ se alipesc, în această ordine, formând un nou șir.
  3. Așează secvența YY pe noul șir la o poziție aleasă astfel încât toate elementele secvenței YY să se poată așeza unul câte unul, consecutiv, peste elemente ale șirului rămas, începând cu poziția aleasă.
  4. La valorile elementelor peste care se suprapun elemente ale secvenței așezate se adună elementul corespunzător din secvență. Se obține astfel un nou șir BB.

Un exemplu de transformare este:

Șirul A al lui Bogdan: 1,2,3,41,2,3,3,12,3,4,5\boxed{1, 2, 3, 4} \boxed{1, 2, 3, 3, 1} \boxed{2, 3, 4, 5}.

Pasul 11: Alege să formeze secvențele astfel: XX cu primele 44 elemente (1,2,3,4)(1, 2, 3, 4), YY cu elementele de pe poziții de la 55 la 9 (1,2,3,3,1)9 \ (1, 2, 3, 3, 1) și ZZ cu elementele de pe poziții de la 1010 la 13 (2,3,4,5)13 \ (2, 3, 4, 5).

Pasul 22: după ștergerea secvenței YY, obținem: 1,2,3,4,2,3,4,51, 2, 3, 4, 2, 3, 4, 5.

Pasul 33: Aplică secvența extrasă începând cu poziția 33 (de exemplu nu ar fi putut aplica secvența pe poziții mai mari sau egale cu 5 deoarece aceasta nu s-ar fi putut suprapune cu toate elementele peste șirul rămas):

    1 2 3 3 1
1 2 3 4 2 3 4 5

Pasul 4: Șirul BB devine: 1,2,4, 6, 5, 6, 5,51, 2, \textbf{4, 6, 5, 6, 5}, 5.

Bogdan îi explică lui Cosmin regula sa de transformare și îi propune următorul joc: îi arată perechi de câte două șiruri AA și BB și, pentru fiecare pereche, îl întreabă: poți decide dacă șirul dat BB chiar se poate obține din șirul dat AA aplicând exact o dată regula descrisă? În cazul în care acest lucru este posibil se cere să identificăm și modul de obținere.

Date de intrare

Fișierul prieteni.in conține pe prima linie un număr tt reprezentând numărul de perechi de șiruri pe care Bogdan i le dă ca test lui Cosmin. În continuare sunt descrise cele tt perechi de șiruri, pe câte 44 linii fiecare.
Prima linie a unui grup conține valoarea n reprezentând numărul de elemente ale șirului AA. Pe linia a doua se află cele nn elemente ale șirului AA, în ordinea pozițiilor, de la 11 la nn. Pe linia a treia se află o valoare mm reprezentând numărul de elemente ale șirului BB. Pe a patra linie se află elementele șirului BB în ordinea pozitiilor, de la 11 la mm. Elementele aceleiași linii se dau separate prin câte un spațiu.

Date de ieșire

Fișierul prieteni.out conține t linii, fiecare conținând rezultatul verificării unei perechi de șiruri date AA și BB, în ordinea în care apar la intrare. Dacă șirul BB nu poate fi obținut din șirul AA, linia va conține doar valoarea 00. În caz contrar, linia va conține 44 valori, separate prin spatiu, astfel: 1 P L I. Valoarea 11 reprezintă codul de succes (BB se poate obține din AA). PP reprezintă poziția din AA de unde se extrage secvența. LL reprezintă lungimea secvenței extrase. II reprezintă poziția unde începe în BB aplicarea secvenței. Dacă sunt mai multe variante se va afișa cea cu II minim și daca și aici avem mai multe variante, cea cu PP minim.

Restricții și precizări

  • 1t101 \leq t \leq 10;
  • 3n2 0003 \leq n \leq 2 \ 000;
  • 1m2 0001 \leq m \leq 2 \ 000;
  • Elementele șirurilor date sunt naturale, nenule, cel mult egale cu 100100;
  • Pentru 1717 puncte se garantează că toate perechile din fișierul de intrare pentru care BB se poate obține din AA au proprietatea că secvența extrasă YY se aplică la aceeași poziție cu cea din care s-a extras.
  • Pentru 3131 de puncte se garantează că toate perechile din fișierul de intrare pentru care BB se poate obține din AA au proprietatea că secvența extrasă YY este formată dintr-un singur element.

Exemplu

prieteni.in

2
13
1 2 3 4 1 2 3 3 1 2 3 4 5
8
1 2 4 6 5 6 5 5
12
1 2 3 4 1 2 3 3 1 2 3 4
7
1 2 4 6 5 6 3

prieteni.out

1 5 5 3
0

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