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 n≤105n \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++