当前位置: 首页 > news >正文

贪心+模拟 Codeforces Round #288 (Div. 2) C. Anya and Ghosts

 

题目传送门

 1 /*
 2     贪心 + 模拟:首先,如果蜡烛的燃烧时间小于最少需要点燃的蜡烛数一定是-1(蜡烛是1秒点一支),
 3             num[g[i]]记录每个鬼访问时已点燃的蜡烛数,若不够,tmp为还需要的蜡烛数,
 4             然后接下来的t秒需要的蜡烛都燃烧着,超过t秒,每减少一秒灭一支蜡烛,好!!!
 5     详细解释:http://blog.csdn.net/kalilili/article/details/43412385
 6 */
 7 #include <cstdio>
 8 #include <algorithm>
 9 #include <cmath>
10 #include <cstring>
11 #include <string>
12 using namespace std;
13 
14 const int MAXN = 1e3 + 10;
15 const int MAXG = 300 + 10;
16 const int INF = 0x3f3f3f3f;
17 int g[MAXG];
18 int num[MAXN];
19 
20 int main(void)        //Codeforces Round #288 (Div. 2) C. Anya and Ghosts
21 {
22     #ifndef ONLINE_JUDGE
23         freopen ("C.in", "r", stdin);
24     #endif
25 
26     int m, t, r;
27 
28     scanf ("%d%d%d", &m, &t, &r);
29     for (int i=1; i<=m; ++i)
30         scanf ("%d", &g[i]);
31 
32     if (t < r)
33     {
34         puts ("-1");    return 0;
35     }
36     int ans = 0;
37     for (int i=1; i<=m; ++i)
38     {
39         if (num[g[i]] < r)
40         {
41             int tmp = r - num[g[i]];
42             ans += tmp;
43             for (int j=g[i]+1; j<=g[i]-tmp+t; ++j)    num[j] += tmp;
44             for (int j=g[i]-tmp+t+1; j<=g[i]+t-1; ++j)    num[j] += (--tmp);
45         }
46     }
47 
48     printf ("%d\n", ans);
49 
50     return 0;
51 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4366671.html

相关文章:

  • 用linqPad帮助你快速学习LINQ
  • Cacti监控Tomcatserver实现过程
  • C++ 多继承与虚基类
  • Set集合
  • Solr4.7从数据库导数据
  • 【转】 Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
  • hdu 2335 Containers
  • Druid Indexing 服务
  • iOS7中弹簧式列表的制作
  • python实现虚拟茶话会
  • IE6|IE7中li底部3px间距BUG
  • 移动前端开发之viewport的深入理解
  • 效率篇——AppleScript入门2
  • C# 利用socekt做到http监听,怎么样才能做到高性能
  • hadoop-2.2.0多个队列资源分配
  • 【Leetcode】101. 对称二叉树
  • hexo+github搭建个人博客
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • es6要点
  • Js基础知识(一) - 变量
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • mockjs让前端开发独立于后端
  • python学习笔记-类对象的信息
  • Sass 快速入门教程
  • Terraform入门 - 1. 安装Terraform
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 读懂package.json -- 依赖管理
  • 如何使用 JavaScript 解析 URL
  • 译米田引理
  • 第二十章:异步和文件I/O.(二十三)
  • 正则表达式-基础知识Review
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #define 用法
  • #Linux(Source Insight安装及工程建立)
  • (C#)一个最简单的链表类
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (SpringBoot)第七章:SpringBoot日志文件
  • (二)windows配置JDK环境
  • (力扣)循环队列的实现与详解(C语言)
  • (六)软件测试分工
  • (三)Honghu Cloud云架构一定时调度平台
  • (四)linux文件内容查看
  • (转)EOS中账户、钱包和密钥的关系
  • (转)jdk与jre的区别
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 读取 JSON格式的数据
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .net操作Excel出错解决
  • .NET简谈设计模式之(单件模式)
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .net网站发布-允许更新此预编译站点