aliniere

Time limit: 0.05s Memory limit: 4MB Input: aliniere.in Output: aliniere.out

În armată, o companie este alcătuită din nn soldaţi. La inspecţia de dimineaţă soldaţii stau aliniaţi în linie dreaptă în faţa căpitanului. Acesta nu e mulţumit de ceea ce vede; e drept că soldaţii sunt aşezaţi în ordinea numerelor de cod 11, 2,,n2, \dots, n din registru, dar nu în ordinea înălţimii. Căpitanul cere câtorva soldaţi să iasă din rând, astfel ca cei rămaşi, fără a-şi schimba locurile, doar apropiindu-se unul de altul (pentru a nu rămâne spaţii mari între ei) să formeze un şir în care fiecare soldat vede privind de-a lungul şirului, cel puţin una din extremităţi (stânga sau dreapta). Un soldat vede o extremitate dacă între el şi capătul respectiv nu există un alt soldat cu înălţimea mai mare sau egală ca a lui.

Cerinţă

Scrieţi un program care determină, cunoscând înălţimea fiecărui soldat, numărul minim de soldaţi care trebuie să părăsească formaţia astfel ca şirul rămas să îndeplinească condiţia din enunţ.

Date de intrare

Pe prima linie a fişierului de intrare aliniere.in este scris numărul nn al soldaţilor din şir, iar pe linia următoare un şir de nn numere reale, cu maximum 55 zecimale fiecare şi separate prin spaţii. Al kk-lea număr de pe această linie reprezintă înălţimea soldatului cu codul kk.

Date de ieșire

Fişierul aliniere.out va conţine pe prima linie numărul soldaţilor care trebuie să părăsească formaţia, iar pe linia următoare codurile acestora în ordine crescătoare, separate două câte două printr-un spaţiu. Dacă există mai multe soluţii posibile, se va scrie una singură.

Restricții și precizări

  • 2n1 0002 \leq n \leq 1 \ 000
  • înălţimile sunt numere reale în intervalul [0.5,2.5][0.5, 2.5]

Exemplu

aliniere.in

8
1.86 1.86 1.30621 2 1.4 1 1.97 2.2

aliniere.out

4
1 3 7 8

Explicație

Rămân soldaţii cu codurile 22, 44, 55, 66 având înălţimile 1.861.86, 22, 1.41.4, 11.

Soldatul cu codul 22 vede extremitatea stângă.
Soldatul cu codul 44 vede ambele extremităţi.
Soldaţii cu codurile 55 şi 66 văd extremitatea dreaptă.

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