Fișierul intrare/ieșire | asort.in, asort.out | Sursă | ONI 2016 baraj gimnaziu |
---|---|---|---|
Autor | Carmen Mincă | Adăugată de | Cristian Frâncu • francu |
Timp de execuție pe test | 0.1 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Asort (baraj gimnaziu)
Notă: punctarea acestei probleme este ușor modificată față de original, din limitări ale NerdArena. Toate testele au același punctaj.
Se consideră un număr natural par N și șirul ordonat crescător X format din primele N numere naturale nenule: X1 = 1, X2 = 2, ..., XN = N. Pozițiile numerelor din șir se pot modifica doar conform regulii “A”,după cum urmează:
- dacă X1 este număr impar, atunci se interschimbă X1 cu X2, X3 cu X4,..., XN-1 cu XN;
- dacă X1 este par atunci se interschimbă X2 cu X3, X4 cu X5,..., XN-2 cu XN-1, iar XN cu X1.
Aplicând de R ori regula “A” șirului X se transformă șirul dat într-un șir “A sortat”.
Cerințe
Cunoscându-se numerele naturale N, R, K și T, scrieți un program care să determine:
- Numărul situat pe poziția K în șirul “A sortat” obținut prin aplicarea de R ori a regulii “A” șirului X.
- Predecesorul și succesorul numărului T în șirul “A sortat”.
Date de intrare
Fișierul de intrare asort.in conține pe prima linie un număr natural P; numărul P poate avea doar valoarea 1 sau valoarea 2. A doua linie a fișierului asort.in conține în această ordine, patru numere naturale N, R, K și T, separate prin câte un spațiu.
Date de ieșire
- Dacă valoarea lui P este 1, atunci se va rezolva numai cerința 1. În acest caz, fișierul de ieșire asort.out va conține pe prima linie un număr natural reprezentând numărul de pe poziția K din șirul A sortat.
- Dacă valoarea lui P este 2, atunci se va rezolva numai cerința 2. În acest caz, fișierul de ieșire asort.out va conține pe prima linie două numere naturale, separate printr-un singur spațiu, reprezentând, în această ordine, predecesorul și succesorul numărului T.
Restricții
- 6 ≤ N ≤ 1 000 000 000
- 1 ≤ R ≤ 1 000 000 000
- 1 ≤ K ≤ N și 1 ≤ T ≤ N
- Dacă numărul T este situat pe poziția 1 în șirul asortat, atunci predecesorul lui este numărului de pe poziția N. Dacă numărul T este situat pe poziția N în șirul asortat, atunci succesorul lui este numărul de pe poziția 1.
- Pentru rezolvarea corectă a cerinței 1 se acordă 50% din punctaj, iar pentru rezolvarea corectă a cerinței 2 se acordă 50% din punctaj.
- Pentru teste în valoare de 15 puncte, N ≤ 1 000 și R ≤ 1 000
Exemple
asort.in | asort.out | Explicație |
---|---|---|
1 6 2 3 4 |
1 |
Se rezolvă cerința 1. N=6, R=2, K=3 și T=4 X1 X2 X3 X4 X5 X6 Șirul X inițial 1 2 3 4 5 6 După prima aplicare a regulii “A” 2 1 4 3 6 5 După a doua aplicare a regulii “A” 5 4 1 6 3 2 În șirul “asortat”, pe poziția K=3 se află valoarea 1 care se va scrie pe prima linie a fișierului asort.out |
2 6 2 3 4 |
5 1 |
Se rezolvă cerința 2. N=6, R=2, K=3 și T=4 X1 X2 X3 X4 X5 X6 Șirul X inițial 1 2 3 4 5 6 După prima aplicare a regulii “A” 2 1 4 3 6 5 După a doua aplicare a regulii “A” 5 4 1 6 3 2 În șirul “asortat”, predecesorul numărului T=4 este 5, iar succesorul este 1. Numerele 5 și 1 se vor scrie pe prima linie a fișierului asort.out, în această ordine. |