蓝桥集训之修理牛棚

蓝桥集训之修理牛棚

  • 核心思想:贪心

    • 先把所有牛棚合成一块木板
    • 然后将所有间隙大小求出 排序找到最大的n-1个
    • 总长度 - n-1个间隙 得到剩下n个木板总长度
cpp 复制代码
  #include <iostream>
  #include <cstring>
  #include <algorithm>
  
  using namespace std;
  const int N = 210;
  
  int a[N],space[N];
  int n,m,c;
  
  int main()
  {
      cin>>n>>m>>c;
      for(int i=0;i<c;i++) cin>>a[i];
      sort(a,a+c); 
      for(int i=1;i<c;i++) space[i] = a[i]-a[i-1]-1;  //求间隙长度
      int res = a[c-1] - a[0] + 1;  //总长度
      //从大到小排间隙
      sort(space+1,space+c,greater<int>());
      for(int i=1;i<n;i++) res -= space[i];
      cout<<res<<endl;
      return 0;
  }
相关推荐
Xの哲學几秒前
Linux SLUB 内存分配器深度剖析: 从设计哲学到实战调试
linux·服务器·网络·算法·边缘计算
tobias.b6 分钟前
408真题解析-2009-1-数据结构-队列-进出规则-应用
数据结构·考研·408真题
2401_876221347 分钟前
AtCoder Beginner Contest 439 - D - Kadomatsu Subsequence
c++·算法
小丁努力不焦虑13 分钟前
算法期末总结题
数据结构·算法
嵌入式进阶行者20 分钟前
【算法】从数组中选取两个符合一定条件的数的算法与实例:华为OD机考双机位A卷 - 跳房子I
数据结构·c++·算法·链表
老歌老听老掉牙32 分钟前
从战场到商场:最优化算法如何用数学重塑世界?
python·算法·最优化
im_AMBER34 分钟前
Leetcode 94 合并零之间的节点
数据结构·c++·笔记·学习·算法·leetcode
tobias.b35 分钟前
408真题解析-2009-3-数据结构-树-遍历方式
数据结构·计算机考研·408真题
KingRumn35 分钟前
DBUS源码剖析之DBusMessage消息头
linux·服务器·算法
WaWaJie_Ngen37 分钟前
【操作系统】第四章---存储器管理
数据结构·算法