discuri

Time limit: 0.05s Memory limit: 2MB Input: discuri.in Output: discuri.out

Se dau NN numere reale considerate ca fiind razele a NN discuri. Considerăm că aşezăm un disc în sistemul xOyxOy dacă îl plasăm la o coordonată xx pozitivă suficient de mare, tangent cu axa OxOx şi deasupra ei, apoi îl împingem spre OyOy până când devine tangent cu OyOy sau cu primul disc aşezat anterior întâlnit.

În figura rezultată după aşezarea tuturor discurilor în ordinea dată unele dintre ele pot fi considerate dispensabile, pentru că prin eliminarea lor nu se modifică lăţimea totală a figurii, adică nici un disc nu se mai poate deplasa spre stânga.

Cerință

Identificaţi toate discurile dispensabile din figură.

Date de intrare

Din fişierul de intrare discuri.in veţi citi de pe prima linie numărul NN de discuri, iar de pe următoarele NN linii NN numere reale reprezentând razele discurilor în ordinea de aşezare, câte unul pe linie.

Date de ieșire

În fişierul discuri.out veţi scrie pe prima linie numărul KK de discuri dispensabile, iar pe următoarele KK linii, KK întregi reprezentând numerele de ordine ale discurilor considerate, câte unul pe linie.

Restricții și precizări

  • N10 000N \leq 10 \ 000

Exemplu

discuri.in

7
4
0.1
0.5
3
0.5
4
1

discuri.out

3
2
3
5

Explicație

(În figura de mai jos; discurile haşurate sunt dispensabile)

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