Recobriment amb intervals X11795


Statement
 

pdf   zip

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

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

  • la mm sigui mínima.

Per exemple, si k=10k=10 i les xix_i’s són 14,19,2314, 19, 23 i 2727, una possible solució és {[12,22],[18,28]}\{[12, 22], [18, 28]\}, ja que cada xix_i es troba (com a mínim) dins d’un dels dos intervals, i no és possible cobrir els quatre nombres amb un sol interval.

Entrada

L’entrada consisteix en diversos casos, cadascun dels quals comença amb kk, seguit nn, seguits de nn nombres diferents. Tots els nombres de l’entrada són enters. Assumiu 1k,n1051 \le k, n \le 10^5.

Sortida

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

Public test cases
  • Input

    10  4  14 19 23 27
    100 6  175 350 50 300 150 20
    10  2  -25 -35
    

    Output

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