Fișierul intrare/ieșire codat.in, codat.out Sursă ONI 2014 clasa a 7-a
Autor autor necunoscut Adăugată de avatar StefanPitur Stefan Pitur StefanPitur
Timp de execuție pe test 2 sec Limită de memorie 16384 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Codat (clasa a 7-a)

Se consideră un șir de N numere naturale, notate x1, x2, x3, ..., xN. Definim pentru orice pereche de indici i, j, 1 ≤ i ≤ j ≤ N, distanța între elementele xi si xj ca fiind egală cu j – i.

Acest șir va fi codificat după următoarele reguli:

  • fiecare element din șir este înlocuit cu indicele celui mai apropiat element din șir (cel față de care distanța este minimă) strict mai mare decât el;
  • dacă pentru un element din șir există două elemente care respectă regula de mai sus, atunci el va fi înlocuit cu indicele mai mare, adică al elementului strict mai mare decât el, aflat în dreapta lui;
  • elementele de valoare maximă din șir vor fi înlocuite cu -1.

Cerinta

Scrieți un program care codifică un șir de N valori, după regulile descrise.

Date de intrare

Fișierul de intrare codat.in contine:

  • pe prima linie numărul natural N
  • pe următoarea linie N numere naturale nenule, separate prin câte un spațiu, reprezentând șirul x1, x2, x3, ..., xN

Date de ieșire

Fișierul codat.out va conține pe prima linie N numere întregi nenule, separate prin câte un spațiu, reprezentând șirul codificat.

Restricții

  • 1 ≤ N ≤ 1000000
  • 1 ≤ xi ≤ 2000000000, 1 ≤ i ≤ N

Exemplu

codat.in codat.out
7
2 9 3 5 1 1 4
2 -1 4 2 4 7 4

Explicație

  • x1=2: cel mai apropiat element strict mai mare decât el este x2
  • x2=9: nu are nici un element mai mare decât el
  • x3=3: elementele mai mari strict decât el, sunt aflate la distanță egală, deci va fi înlocuit cu indicele mai mare adică 4
  • x4=5: cel mai apropiat element strict mai mare decât el este x2
  • x5=1: cel mai apropiat element strict mai mare decât el este x4
  • x6=1: cel mai apropiat element strict mai mare decât el este x7
  • x7=4: cel mai apropiat element strict mai mare decât el este x4

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

Indicii de rezolvare

Arată 4 categorii