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

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

區間覆蓋問題

2019-11-11 04:36:27
字體:
來源:轉載
供稿:網友

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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 达拉特旗| 凉山| 新和县| 洛隆县| 临汾市| 霍林郭勒市| 郸城县| 林西县| 项城市| 伊春市| 禹城市| 武安市| 新津县| 上林县| 西畴县| 会东县| 聊城市| 永康市| 古交市| 陈巴尔虎旗| 高阳县| 东源县| 雷波县| 崇信县| 福安市| 绍兴市| 于都县| 阜宁县| 兰考县| 泾源县| 平邑县| 高安市| 南乐县| 普定县| 万源市| 邮箱| 巴彦淖尔市| 博客| 凌海市| 玛曲县| 福鼎市|