barn1解题报告 —— icedream61 博客园(转载请注明出处)
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
  有一列牛棚,编号从1到S,相邻的牛棚紧挨着(间距为0),每个牛棚长度是一个单位。
  其中有C头牛,分别在各自的牛棚中,不存在多个牛挤在一个牛棚的情况。
  现在下雨了,可是顶棚被刮飞了,于是John需要买些板子给牛棚安上暂时过夜。
  木材供应商比较坏,板子长度随便选,但最多卖N块。因此John需要考虑如何买,才能在保护到所有牛的前提下,让板子的长度尽量短。
【数据范围】
  1<=M<=50
  1<=S<=200
  1<=C<=S
  牛所在牛棚的编号保证合法。
【输入样例】
  4 50 18
  3
  4
  6
  8
  14
  15
  16
  17
  21
  25
  26
  27
  30
  31
  40
  41
  42
  43
【输出样例】
  25
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
  将相邻牛棚的间距都求出来,共C-1个。
  降序排序,把前N-1个减去,就是最后答案了。
  当然,如果不足N-1个,那就都减去就好了。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
  遗漏了一种情况。
  忘记了间距可能不足N-1个,于是WA(Wrong Answer)了。

------------------------------------------------------------------------------------------------------------------------------------------------

【代码】

 /*
ID: icedrea1
PROB: barn1
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; void qsort(int a[],int l,int r)
{
if(l>=r) return;
int i=l,j=r,x=a[(l+r)>>];
while()
{
while(a[i]<x) ++i;
while(a[j]>x) --j;
if(i>j) break;
swap(a[i],a[j]);
++i; --j;
}
qsort(a,l,j); qsort(a,i,r);
} int main()
{
ifstream in("barn1.in");
ofstream out("barn1.out"); int M,S,C;
int site[],cha[];
int sum; in>>M>>S>>C;
for(int i=;i<=C;++i) in>>site[i];
qsort(site,,C);
sum=site[C]-site[]+; for(int i=;i!=C;++i) cha[i]=site[i+]-site[i]-;
qsort(cha,,C-);
for(int i=C-;--M&&i>=;--i) sum-=cha[i]; out<<sum<<endl; in.close();
out.close();
return ;
}

USACO Section1.3 Barn Repair 解题报告的更多相关文章

  1. USACO Section1.5 Prime Palindromes 解题报告

    pprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  2. USACO Section1.5 Superprime Rib 解题报告

    sprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  3. USACO Section1.5 Number Triangles 解题报告

    numtri解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  4. USACO Section1.4 Arithmetic Progressions 解题报告

    ariprog解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

  5. USACO Section1.3 Combination Lock 解题报告

    combo解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  6. USACO Section1.3 Prime Cryptarithm 解题报告

    crypt1解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  7. USACO Section1.3 Mixing Milk 解题报告

    milk解题报告 —— icedream61 博客园(转载请注明出处)----------------------------------------------------------------- ...

  8. USACO Section1.2 Palindromic Squares 解题报告

    palsquare解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------ ...

  9. USACO Section1.2 Dual Palindromes 解题报告

    dualpal解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

随机推荐

  1. Vue--父组件传数据给子组件,子组件生命周期过程拿到数据的情况

    需求: 在子组件渲染之前,我要修改数据的某个字段 结果是 组件在beforeUpdate,updated 的状态才能拿到父组件的数据 那么证明,我根本无法在beforeUpdate,updated两个 ...

  2. IOS笔记 : 一些小技巧

    计算单元格高度,在自定义cell中 -(void) resizeTheHeight{ CGFloat contentWidth = 280; UIFont *font = [UIFont fontWi ...

  3. 经典的hash函数

    unsigned int SDBMHash(char *str){    unsigned int hash = 0;     while (*str)    {        // equivale ...

  4. 【HHHOJ】ZJOI2019模拟赛(十三)03.10 解题报告

    点此进入比赛 得分: \(97+0+10=107\) 排名: \(Rank\ 3\) \(Rating\):\(+47\) \(T1\):[HHHOJ187]Hashit(点此看题面) 容易想到可以用 ...

  5. 课程设计__C++初步,C++对C的扩充

    小草的C++要结课了,小草终于翻起书来,小草用的老谭的书,有什么不对的就找老谭去吧. ///C++初步 ///C++对C的扩展 #include <iostream> using name ...

  6. frcnn_train_data_param的distort_param实现

    frcnn_train_data_param frcnn_train_data_param { source: "./data/train_list.txt" root_folde ...

  7. Can Microsoft’s exFAT file system bridge the gap between OSes?

    转自:http://arstechnica.com/information-technology/2013/06/review-is-microsofts-new-data-sharing-syste ...

  8. hadoop分类输出

    import org.apache.hadoop.io.Text; import java.io.IOException;import java.util.Iterator;import java.u ...

  9. multi-view datasets

    http://rll.berkeley.edu/2014_ICRA_dataset/ http://rgbd-dataset.cs.washington.edu/dataset/

  10. C语言结构体排序

    定义学生信息结构体和结构体数组,包括学号.两门百分制成绩和姓名;键盘输入 学生不多于 30 人的信息,以输入成绩为负数或大于 100 作为输入结束;按照学号和平均成绩排序,并输出学生信息 //输入学生 ...