国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

區間覆蓋問題

2019-11-11 03:03:43
字體:
來源:轉載
供稿:網友

PRoblem Description

 用i來表示x坐標軸上坐標為[i-1,i]的長度為1的區間,并給出n(1≤n≤200)個不同的整數,表示n個這樣的區間。現在要求畫m條線段覆蓋住所有的區間,條件是:每條線段可以任意長,但是要求所畫線段的長度之和最小,并且線段的數目不超過m(1≤m≤50)。 

Input

 輸入包括多組數據,每組數據的第一行表示點n,和所需線段數m,后面的n行表示點的坐標

Output

 輸出每組輸出占一行表示線段的長度。

Example Input

5 31 3 8 5 11

Example Output

7#include<stdio.h>void sort1(int pos[],int n){    int i,j,t;    for(i=0;i<n-1;i++)    {        for(j=0;j<n-i-1;j++)        {            if(pos[j]>pos[j+1])            {t=pos[j];pos[j]=pos[j+1];pos[j+1]=t;}        }    }}void sort2(int dis[],int c){    int i,j,t;    for(i=0;i<c-1;i++)    {        for(j=1;j<=c-i-1;j++)        {            if(dis[j]<dis[j+1])            {t=dis[j];dis[j]=dis[j+1];dis[j+1]=t;}        }    }}int main(){    int n,m,pos[222],len,dis[222],i;    while(~scanf("%d%d",&n,&m))    {        for(i=0;i<n;i++)            scanf("%d",&pos[i]);        sort1(pos,n);        for(i=1;i<=n-1;i++)        {            dis[i]=pos[i]-1-pos[i-1];        }        sort2(dis,n-1);        if(m>=n) len=n;        else        {            for(i=1;i<=m;i++)            {                if(i==1) len=pos[n-1];                else len=len-dis[i-1];            }        }        printf("%d/n",len);    }    return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮北市| 南康市| 广水市| 襄樊市| 林口县| 洛浦县| 田东县| 徐水县| 商南县| 吉木乃县| 铁岭市| 隆化县| 阿图什市| 吉安市| 新绛县| 西乌珠穆沁旗| 翁源县| 武城县| 垣曲县| 泰安市| 谢通门县| 岑巩县| 望奎县| 巨野县| 平度市| 乃东县| 贵德县| 榆林市| 夏河县| 望江县| 陇南市| 阿拉尔市| 连江县| 东乡| 河源市| 永康市| 遂溪县| 巴塘县| 江城| 武汉市| 永昌县|