USACO Section1.3 Barn Repair 解题报告
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 解题报告的更多相关文章
- USACO Section1.5 Prime Palindromes 解题报告
pprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.5 Superprime Rib 解题报告
sprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.5 Number Triangles 解题报告
numtri解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.4 Arithmetic Progressions 解题报告
ariprog解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...
- USACO Section1.3 Combination Lock 解题报告
combo解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- USACO Section1.3 Prime Cryptarithm 解题报告
crypt1解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.3 Mixing Milk 解题报告
milk解题报告 —— icedream61 博客园(转载请注明出处)----------------------------------------------------------------- ...
- USACO Section1.2 Palindromic Squares 解题报告
palsquare解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------ ...
- USACO Section1.2 Dual Palindromes 解题报告
dualpal解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...
随机推荐
- 利用批处理结合Msbuild实现快速编译
我们经常在用vs2005做项目的时候会把一个项目分成几个模块(不管是对于功能上,还是系统构架上面),为的是以后部署,还有修改维护时候的方便.这样就会带来一个问题,随着模块的增加(这里所说得每个模块就是 ...
- SAP Fiori里的List是如何做到懒加载Lazy load的
今天一同事问我这个问题:S/4HANA Fiori应用里的列表,一旦Scroll到底部就会自动向后台发起新的请求把更多的数据读取到前台显示. 以Product Master这个应用为例,我点击搜索之后 ...
- spring-mabatis整合的配置文件
1.spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- vue.js--基础 v-bind绑定属性使用
背景:因为10月要休产假了,8月的时间我工作很少,因为最开始做平台我一直做的是后端,前端很少接触,所以现在有时间,就学习前端基础,前端使用的vue.js+element,因为没有基础,所以下了一个视频 ...
- 【转】Android 组件系列-----Activity保存状态
本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state. 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的 ...
- Linux空间PHP开发环境小白教程(LAMP)
租了一个云服务器, 但是只有linux系统,没有php开发环境, 只好自己摸索着一步一步安装啦. 本教程来自自学IT创E老师的Linux教程,想详细了解的可以去论坛找. 一.使用PUTTY登录服务器 ...
- c++ 11 线程池的简单封装
#include <condition_variable> #include <queue> #include <thread> #include <vect ...
- a链接打开另外的新页面
在a标签添加target = "_blank" 属性即可
- C#基础-hashtable,泛型和字典集合
hashtable 的存储方式 使用方法: 1.引入包含Hashtable的命名空间 using System.Collections; // 引入Hash所在的命名空间 2.往hash表里面添加数据 ...
- 使用cookie登陆知乎
只是想说明一个问题,Cookie可以维持登录状态,有些网页当中,访问之后的cookie里面带有登陆账号,和登陆密码,这样可以使用cookie直接访问网页,如知乎,首先登录知乎,将Headers中的Co ...