Content

假设 \(1\) 年有 \(n\) 天,而每周同样会有 \(5\) 天工作日和 \(2\) 天休假。求一年最小的休假天数和最大休假天数。

数据范围:\(1\leqslant n\leqslant 10^6\)。

Solution

题解区的做法都稍麻烦了些,其实这道题目只需要两行代码就能够搞定。一行输入,一行输出结果。

没听错,一行直接输出答案。原因是这道题目其实是有公式的。

首先我们知道,一年里面有 \(\left\lfloor\dfrac n7\right\rfloor\) 个完整的一周,之前的休假天数就是 \(\left\lfloor\dfrac n7\right\rfloor\times 2\)。

我们想,最小的休假天数无疑是一开始就是工作日,那么剩下来的那一周肯定是先工作日,后休假。具体休假的时间显然由 \(n\mod 7\) 来定。如果 \(n\mod 7\leqslant 5\),那么就没有假期,否则就有假期,因此就相当于先求出 \(n\mod 7-5\) 再和 \(0\) 取最大值,因此最小休假天数是 \(\left\lfloor\dfrac n7\right\rfloor\times 2+\max(n\mod 7-5,0)\)。

再想,最大的休假天数一定是一开始就是休假日,那么剩下来的那一周肯定是先休假,后工作日,同样也是由 \(n\mod 7\) 的值来定。如果 \(n\mod 7<2\),那么假期天数就是 \(n\mod 7\),否则就是 \(2\)(因为之后就是工作日)。因此最大休假天数就是 \(\left\lfloor\dfrac n7\right\rfloor\times 2+\min(n\mod 7,2)\)。

Code

int main() {
int n = Rint;
printf("%d %d", n / 7 * 2 + max(0, n % 7 - 5), n / 7 * 2 + min(n % 7, 2));
return 0;
}

声明一下,为了防止 sbxxs 抄题解,把快读、头文件以及宏定义都省略了。直接交这份代码肯定是没办法编译通过的。

CF670A Holidays 题解的更多相关文章

  1. Codeforces Gym 100187D D. Holidays 排列组合

    D. Holidays Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/problem/D ...

  2. Codeforces Round #350 (Div. 2) A. Holidays 水题

    A. Holidays 题目连接: http://www.codeforces.com/contest/670/problem/A Description On the planet Mars a y ...

  3. 虚树总结&题单&简要题解

    简介 虚树,即剔除所有无关结点,只保留询问点和询问点的相关结点(两两之间的LCA),建一棵新树,这棵新树就是虚树.通过虚树,可以有效的减小询问(甚至修改)的复杂度.设询问点的个数是\(k\),那么建虚 ...

  4. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  5. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  6. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  7. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  8. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  9. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

随机推荐

  1. Stupid && 祖传Fortran代码救赎之路(编译Dll)

    Stupid && 祖传Fortran代码救赎之路(编译Dll) gfortran编译动态库 在Windows平台下,Intel Fortran安装过于庞大且费事(现在集成到OneAP ...

  2. HAOI 2018 Round 1 题解

    无聊了开一套省选题刷刷--u1s1 感觉三个题都不错,难度也挺有梯度,是一道标准的省选难度的题(话说 CSP 前你刷省选题干嘛/ts/ts) 小 C 珂海星 T1:P4495 [HAOI2018]奇怪 ...

  3. Codeforces 700D - Huffman Coding on Segment(莫队+根分)

    Codeforces 题目传送门 & 洛谷题目传送门 好家伙,刚拿到此题时我连啥是 huffman 编码都不知道 一种对 \(k\) 个字符进行的 huffman 编码的方案可以看作一个由 \ ...

  4. R语言与医学统计图形【5】饼图、条件图

    R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...

  5. centOS6和7单用户修改密码

    CentOS6 1.       进入启动系统倒计时的时候,按esc 之后进入一下界面: 2.       按a 键进入修改内核参数页面 3.       在quiet后面加入空格和1 ,如下:回车进 ...

  6. perl 获取目录信息

    1 #!/usr/bin/perl -w 2 use strict; 3 use FindBin qw($Bin $Script); 4 5 my $rp=$Bin; 6 print "th ...

  7. PowerToys插件扩展(类似Alfred)

    在mac系统除了自带的Spotlight还有一个很好用的工具叫Alfred image 在windows系统也有一个很好用的工具叫PowerToys,是微软的一个开源项目 image https:// ...

  8. 7个连环问揭开java多线程背后的弯弯绕

    摘要:很多java入门新人一想到java多线程, 就会觉得很晕很绕,什么可见不可见的,也不了解为什么sync怎么就锁住了代码. 本文分享自华为云社区<java多线程背后的弯弯绕绕到底是什么? 7 ...

  9. 关于java中的安全管理器

    最近再查看java的源码的时候看见了这一类代码 final SecurityManager sm = System.getSecurityManager(); 想要了解这个是为了做什么,查看资料之后发 ...

  10. 从Redis分布式缓存实战入手到底层原理分析、面面俱到覆盖大厂面试考点

    概述 官方说明 Redis官网 https://redis.io/ 最新版本6.2.6 Redis中文官网 http://www.redis.cn/ 不过中文官网的同步更新维护相对要滞后不少时间,但对 ...