国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖边县| 北京市| 延边| 康马县| 榆树市| 崇文区| 平塘县| 常山县| 舒兰市| 旬阳县| 常熟市| 天气| 繁峙县| 宁强县| 和林格尔县| 卢龙县| 江安县| 阿拉善右旗| 乐山市| 涡阳县| 东阳市| 泰和县| 巫山县| 丰都县| 梅河口市| 沙洋县| 防城港市| 克什克腾旗| 安龙县| 新巴尔虎右旗| 东城区| 潮州市| 泰来县| 伊宁县| 佳木斯市| 来凤县| 北辰区| 上林县| 富源县| 湖南省| 长沙县|