Cobrint intervals P37902


Statement
 

pdf   zip

Donats diversos reals x1,,xnx_1, \ldots, x_n, es vol trobar el conjunt més petit possible d’intervals tancats de mida 1 que cobreixin aquests reals. En altres paraules, cal trobar un conjunt d’intervals {[y1,y1+1],,[ym,ym+1]}\{[y_1, y_1 + 1], \dots, [y_m, y_m + 1]\} tal que

  • per a cada xix_i, existeixi alguna jj tal que xi[yj,yj+1]x_i \in [y_j, y_j + 1];

  • la mm sigui mínima.

Per exemple, si les xix_i’s són 1.4,1.9,2.31.4, 1.9, 2.3 i 2.72.7, una possible solució és {[1.2,2.2],[1.8,2.8]}\{[1.2, 2.2], [1.8, 2.8]\}, ja que cada xix_i es troba (com a mínim) dins d’un dels dos intervals, i no és possible cobrir els quatre reals amb un sol interval.

Entrada

L’entrada consisteix en diversos casos, cadascun dels quals amb un nombre nn seguit de nn reals diferents. Assumiu n105n \le 10^5.

Sortida

Per a cada cas, escriviu el nombre mínim d’intervals tancats de mida 1 que cobreixin els reals donats.

Public test cases
  • Input

    4  1.4 1.9 2.3 2.7
    6  1.75 3.5 0.5 3 1.5 0.2
    2  -2.5 -3.5
    

    Output

    2
    3
    1
    
  • Information
    Author
    Amalia Duch
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++