Taisna lielceļa malā atrodas ciemati. Lielceļu attēlosim kā naturālu skaitļu asi un katra ciemata koordinātu kā kādu naturālu skaitli uz šīs ass. Nekādi divi ciemati neatrodas uz ass vienā un tajā pašā vietā. Attālums starp diviem ciematiem ir šo ciematu koordinātu starpības absolūtā vērtība. Jāuzbūvē pasta nodaļas vairākos, bet ne obligāti visos ciematos. Ciematam un šajā ciematā uzbūvētai pasta nodaļai ir viena un tā pati koordināta. Būvējot pasta nodaļas, ciemati jāizvēlas tā, lai attālumu summa no katra ciemata līdz tam tuvākajai pasta nodaļai būtu pēc iespējas mazāka. Uzrakstiet programmu, kas, dotām visu ciematu koordinātām un uzbūvējamo pasta nodaļu skaitam, aprēķina mazāko iespējamo attālumu summu no katra ciemata līdz tam tuvākajai pasta nodaļai.
Ievaddatu faila vārds ir post.in. Faila pirmajā rindā ir doti divi naturāli skaitļi: ciematu skaits V, 1<=V<=300, un pasta nodaļu skaits P, 1<=P<=30, P<=V. Faila otrajā rindā doti V naturāli skaitļi - ciematu koordinātas augošā secībā. Katrai koordinātai X ir spēkā sakarība 1<=X<=10000.
Izvaddatu faila vārds ir post.out. Faila pirmajā rindā jāizvada viens vesels skaitlis, kas ir mazākā iespējamā attālumu summa no katra ciemata līdz tam tuvākajai pasta nodaļai.
Šajā gadījumā ciematu koordinātas ir 2, 7, 22, 44 un 50.
|
Copyright © 2001 Girts Folkmanis, LIIS |