Fișierul intrare/ieșire asort.in, asort.out Sursă ONI 2016 baraj gimnaziu
Autor Carmen Mincă Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.1 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

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:

  1. Numărul situat pe poziția K în șirul “A sortat” obținut prin aplicarea de R ori a regulii “A” șirului X.
  2. 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.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 3 categorii