fagure

Time limit: 0.05s Memory limit: 16MB Input: fagure.in Output: fagure.out

Bunicul lui Ionel este apicultor şi din acest motiv Ionel a vrut să combine pasiunea lui pentru numere cu meseria bunicului. El a aşezat nn numere sub forma unui şir de nrnr faguri, numerotaţi de la 11 la nrnr. În cadrul unui fagure numerele au fost aşezate în sensul rotirii acelor de ceasornic. Pe latura comună a doi faguri el aşează numai două numere. Mihuţ, fratele lui Ionel, ca să facă o glumă a amestecat numerele din faguri astfel: a luat cel mai mare număr prim din al doilea fagure şi l-a schimbat cu cel mai mare număr prim din penultimul fagure (cu numărul de ordine nr1nr-1), apoi a luat cel mai mare număr prim din al treilea fagure şi l-a schimbat cu cel mai mare număr prim din antepenultimul fagure (cu numărul de ordine nr2nr-2), continuă aşa până la mijlocul şirului de faguri. Mihuţ nu s-a atins de numerele care făceau parte din latura comună a doi faguri alăturaţi. Dacă în cadrul unui fagure Mihuţ nu a găsit un număr prim ce poate fi mutat, atunci nu a realizat interschimbarea în cadrul perechii de faguri corespunzătoare.
Exemplu:
Ionel a plecat de la 1818 numere: 2, 11, 37, 14, 5, 12, 17, 101, 97, 26, 3, 19, 13, 5, 130, 7, 213, 9072, \ 11, \ 37, \ 14, \ 5, \ 12, \ 17, \ 101, \ 97, \ 26, \ 3, \ 19, \ 13, \ 5, \ 130, \ 7, \ 213, \ 907 şi le-a aşezat conform modelului din figura 11. Modelul din figura 22 a rezultat după ce Mihuţ a amestecat numerele. Mihuţ nu are voie să amestece numerele: 11, 37, 101, 97, 19, 1311, \ 37, \ 101, \ 97, \ 19, \ 13.

Cerinţă

Scrieţi un program care să citească informaţiile din fişierul de intrare fagure.in şi care să determine:

  1. numărul fagurilor pe care a reuşit Ionel să îi construiască;
  2. cel mai mic număr de ordine al fagurelui pe care Ionel a plasat valoarea xx, înainte de amestecarea realizată de Mihuţ;
  3. pentru un număr natural kk, citit din fişier, care este noul număr plasat de Mihuţ pe fagurele cu numărul de ordine kk. Dacă Mihuţ nu s-a atins de numerele de pe fagurele kk se va scrie valoarea 00.

Date de intrare

Fişierul de intrare fagure.in conţine trei linii:

  • pe prima linie se află perechea de numere naturale nn şi kk separate printr-un spaţiu cu semnificaţiile din enunţ;
  • a doua linie conţine cele nn numere naturale nenule mai mici decât 32 00032 \ 000, separate prin câte un spaţiu, cu care Ionel a construit fagurii;
  • pe ultima linie din fişier se află numărul natural xx cu semnificaţia din enunţ. Valoarea xx se regăseşte în fişier şi pe linia a doua.

Date de ieşire

Fişierul de ieşire fagure.out va conţine trei linii:

  1. pe prima linie se va scrie numărul natural nrnr ce reprezintă numărul fagurilor construiţi de Ionel;
  2. pe a doua linie se va scrie numărul de ordine minim al fagurelui pe care a fost plasată valoarea xx. În cazul în care valoarea xx se găseşte pe latura comună a doi faguri alăturaţi, se vor afişa numerele de ordine ale celor doi faguri în ordinea crescătoare a valorilor, separate printr-un spaţiu;
  3. pe a treia linie se va scrie numărul pe care Mihuţ l-a plasat pe fagurele kk după ce a amestecat numerele sau valoarea 00 dacă nu s-a atins de fagurele kk.

Restricţii şi precizări

  • Pentru toate testele, ultimul fagure construit de Ionel, este format din 66 numere.
  • 10n<10 00010 \leq n \lt 10 \ 000
  • 2knuma˘rul de ordine al fagurelui din mijloc2 \leq k \leq \text{numărul de ordine al fagurelui din mijloc}
  • 1x<30 0001 \leq x \lt 30 \ 000
  • Pentru rezolvarea cerinţei 11 se acordă 30%30\% din punctaj, pentru rezolvarea cerinţei 22, 40%40\% din punctaj şi pentru rezolvarea cerinţei 33, 30%30\% din punctaj.

Exemplu

fagure.in

18 2
2 11 37 14 5 12 17 101 97 26 3 19 13 5 130 7 213 907
101

fagure.out

4
2 3
5

Explicaţie

44 reprezintă numărul fagurilor construiţi de Ionel
101101 aparţine fagurilor 22 şi 33
55 reprezintă valoarea plasată de Mihuţ pe fagurele 22.

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