Fișierul intrare/ieșire | fagure.in, fagure.out | Sursă | ONI 2011 clasa a 5-a |
---|---|---|---|
Autor | Daniela Tarasă | Adăugată de | Coman Isabela Patricia • Isabela_coman |
Timp de execuție pe test | 1 sec | Limită de memorie | 16384 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Fagure (clasa a 5-a)
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 n numere sub forma unui șir de nr faguri, numerotați de la 1 la nr. Î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 nr-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 nr-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 18 numere: 2 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 1. Modelul din figura 2 a rezultat după ce Mihuț a amestecat numerele. Mihuț nu are voie să amestece numerele: 11, 37, 101, 97, 19, 13.
Cerințe:
Scrieți un program care să citească informațiile din fișierul de intrare fagure.in și care să determine:
a) numărul fagurilor pe care a reușit Ionel să îi construiască;
b) cel mai mic număr de ordine al fagurelui pe care Ionel a plasat valoarea x, înainte de amestecarea realizată de Mihuț;
c) pentru un număr natural k, citit din fișier, care este noul număr plasat de Mihuț pe fagurele cu numărul de ordine k. Dacă Mihuț nu s-a atins de numerele de pe fagurele k se va scrie valoarea 0.
Date de intrare
Fișierul de intrare fagure.in conține trei linii:
- pe prima linie se află perechea de numere naturale n și k separate printr-un spațiu cu semnificațiile din enunț;
- a doua linie conține cele n numere naturale nenule mai mici decât 32000, separate prin câte un spațiu, cu care Ionel a construit fagurii;
- pe ultima linie din fișier se află numărul natural x cu semnificația din enunț. Valoarea x 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:
a) pe prima linie se va scrie numărul natural nr ce reprezintă numărul fagurilor construiți de Ionel;
b) pe a doua linie se va scrie numărul de ordine minim al fagurelui pe care a fost plasată valoarea x. În cazul în care valoarea x 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;
c) pe a treia linie se va scrie numărul pe care Mihuț l-a plasat pe fagurele k după ce a amestecat numerele sau valoarea 0 dacă nu s-a atins de fagurele k.
Restricții
- Pentru toate testele, ultimul fagure construit de Ionel, este format din 6 numere.
- 10 ≤ n < 10000
- 2 ≤ k ≤ numărul de ordine al fagurelui din mijloc
- 1 ≤ x < 30000
- Pentru rezolvarea cerinței a) se acordă 30% din punctaj, pentru rezolvarea cerinței b) 40% din punctaj și pentru rezolvarea cerinței c) 30% din punctaj.
Exemplu
fagure.in | fagure.out | Explicatii |
---|---|---|
18 2 2 11 37 14 5 12 17 101 97 26 3 19 13 5 130 7 213 907 101 |
4 2 3 5 |
4 reprezintă numărul fagurilor construiți de Ionel 101 aparține fagurilor 2 și 3 5 reprezintă valoarea plasată de Mihuț pe fagurele 2. |