2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)G.排解忧伤

题目链接

题目描述

猪猪参加小米赞助的icpc比赛之后惨遭打铁,为了排解忧伤,他开始观察嘉宾席。

嘉宾席是间隔为1,一字排开的n个座椅,从左至右标号为1到n。有m个嘉宾,每个嘉宾有一个心仪座位Ai,注意,不同嘉宾的心仪座位可能相同。嘉宾们会统一从一排座位的最左侧依次入场。一个嘉宾首先会走到他心仪的位子,如果此时他发现没有人坐,他就会立刻占据这个位子。如果已经有人坐了,该嘉宾会继续向右走,直到遇到一个空位子,立刻坐下。每个嘉宾的怒气值是他额外行走的距离,也就是最终的座位到心仪座位的距离。如果走到最后都没有找到位置,嘉宾会怒气爆棚。

显然,座位存在一个先到先得的关系,不是每个人都能坐到心仪的座位。现在,猪猪想思考什么样的入场顺序可以使嘉宾们怒气值之和最小,请你帮帮他。

输出最小怒气和。如果无论怎样安排入场顺序,都不能使所有嘉宾找到位子,输出-1。

输入描述:

第一行两个正整数n,m

第二行m个用空格隔开的正整数,从左往右第i个正整数表示Ai
0<m<=n<=100000,0<Ai<=n

输出描述:

一行一个正整数表示最小怒气和

示例1

输入

5 4
3 2 4 3

输出

2

简单贪心,不难发现,只要满足每个人都有座位,那么每个人的心仪值一定小于座位号,此时任意排列都不影响怒气和,所以只需要将心仪值数组排序,判断是否每个人都有位置即可,注意数据可能会爆 i n t int int,AC代码如下:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
int n,m,s=1,ans=0,a[N];
int main()
{cin>>n>>m;for(int i=1;i<=m;i++) cin>>a[i];sort(a+1,a+1+m);for(int i=1;i<=n;i++){if(a[s]<=i){ans+=i-a[s];s++;}if(s==m+1) break;}if(s!=m+1) puts("-1");else cout<<ans;return 0;
}

2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)G.排解忧伤相关推荐

  1. 2020年广东工业大学第十届文远知行杯新生程序设计竞赛 A.肥猪的钢琴床(dp动态规划)

    题目链接:https://ac.nowcoder.com/acm/contest/9692/A 题目描述 肥猪很喜欢睡懒觉,与此同时肥猪十分喜欢买各种各样神奇的床. 今天肥猪买了一张很宽很宽的钢琴床, ...

  2. 2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)G- 排解忧伤

    原题链接: https://ac.nowcoder.com/acm/contest/9692 题意: 这题就是说有m个嘉宾抢最多n个座位,抢不到心仪的座位就只能继续往前走,还得生气,怒气值就是这位嘉宾 ...

  3. 2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)(详细题解)

    A 肥猪的钢琴床 思路: 我比赛的时候是没做出来,没往dp想,后来赛后看大佬代码才知道正解.我们发现对于每个点来说,都有两种情况,一种是取1留0,一种是取0留1,这正好是吻合了dp的想法,还有一种极端 ...

  4. 2020年广东工业大学第十届文远知行杯新生程序设计竞赛------母牛上树

    题目描述 母牛刚来到广东柱子大学时,就被学校的柱子深深地迷住.于是,母牛立下了flag,要在大学4年爬遍学校的柱子.同时,每个柱子顶部都有一个最佳的俯瞰学校的观测点.母牛在爬柱子时,会从柱子底爬到柱子 ...

  5. 牛客竞赛,GDDU第十届文远知行杯新生程序设计竞赛,摸鱼记(BDEIKL题解,补G,ACFHJ)

    碎碎念 比赛前看到评论区的提问 这个是干啥的,求解答,第一次参加 抽奖送牛客卫衣的 hhhh重在参与 然后[注意事项]里面写的 1 参赛形式:个人,面向零基础20级新生和部分有基础新生. 4 请各位教 ...

  6. 广东工业大学文远知行杯新生程序设计竞赛(重现赛)复习

    广东工业大学文远知行杯新生程序设计竞赛(重现赛) 1,F,亚子和燐子的game 思路: 我们可以维护一个堆(里面的数都相等,其实就是一个数),每扔进去一个数,就继续维持堆中数字相等(维持方法,就是谁大 ...

  7. 广东工业大学文远知行杯新生程序设计竞赛(牛客比赛)

    链接如下: 广东工业大学文远知行杯新生程序设计竞赛(重现赛)_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ大学ACM校赛新生赛是面向ACM/ICPC/CCPC/区域赛校 ...

  8. 【比赛回顾】2020广工文远知行杯新生程序设计竞赛(初赛)

    [比赛回顾]2020广工文远知行杯新生程序设计竞赛(初赛) 写在前面: 已经更新完除E和F以外的题解(因为这两道我没有时间做了,以后抽空做完后补充).可能我的题解并不是最优的,欢迎交流和讨论~ 文章目 ...

  9. 2018年广东工业大学文远知行杯新生程序设计竞赛 1001 文远知行β

    Problem Description "上一个国家的人真的是好心呢." 在山脉群之间,是一片宽广平坦的大地.被草木覆盖的绿意,顺着灰色的山间延伸. 摩托车(注:两轮的车子,尤其是 ...

最新文章

  1. Windows下安装 openpyxl
  2. FZU 1889 龟兔赛跑
  3. 修改MySQL字符集
  4. Android之编译提示error: Apostrophe not preceded by
  5. 常用系统函数oracle
  6. iOS 16要来了:速度更快、UI改动明显?苹果WWDC大会或将在线下举行
  7. LeetCode - Remove Nth Node From End of List
  8. paip.提升性能----jvm参数调整.txt
  9. windows7安装中注入USB3.0和NVME驱动
  10. linux vi 文件查找,linux几种常见的文件内容查找和替换命令
  11. Oracle锁表查询和解锁方法
  12. 求职时,怎样判断一家公司是否靠谱?
  13. 魔兽世界服务器卡 邮件寄不出去,魔兽世界怀旧服邮件收不到怎么办 WOW怀旧服邮件取不出来解决方法...
  14. 编码原则总结:面向对象设计的SOLID原则
  15. springboot整合Redis+elasticsearch时的异常问题
  16. 解决iOS UITableView分组header悬浮,每个section header上面有一段空白间距
  17. TP 框架解决Unknown column 'XXX' in 'where clause' 问题
  18. 【硬件】机器人平台搭建
  19. Praat脚本文件教程之Scripting1.Your first script
  20. app式成语_成语大侠app下载-成语大侠下载v6.6.6.4 安卓版-西西软件下载

热门文章

  1. python淘宝cookies抢购_python实现简单爬虫模拟登录淘宝(cookie简介)
  2. tplink打印机服务器重置,tl-wdr3310路由器怎么设置打印机服务器
  3. 【三国演义】——关羽
  4. 常见字体颜色值代码表
  5. 什么是ActiveX
  6. 今天你买到票了吗 ——从铁道部12306 cn网站漫谈电子商务网站的 海量事务高速处理 系统
  7. 使用自签名证书进行TLS
  8. DoubleCommander设置
  9. 【技术分享】思科设备ISIS配置
  10. js最新手机号码、电话号码正则表达式