【题意】n个人进行游戏,每轮只保留最大的a[i]倍数的人,最后一轮过后剩余2人,求最小和最大的n,或-1。n<=10^5。

【算法】递推||二分

【题解】令L(i),R(i)表示第i轮过后的最小人数和最大人数。

令X(i)和Y(i)表示区间[L(i),R(i)]中最小的a[i]倍数和最大的a[i]倍数。

L(i-1)=X(i),R(i-1)=Y(i)+a[i]-1。

X(i)=L(i)/a[i](上取整),Y(i)=R(i)/a[i](下取整)。

答案为L(0),R(0)。

#include<cstdio>
int n,a[];
long long L=,R=;
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%d",&a[i]);
for(int i=n;i>=;i--){
L=((L-)/a[i]+)*a[i];
R=R/a[i]*a[i]+a[i]-;
}
if(L>R)printf("-1");else printf("%lld %lld",L,R);
return ;
}

所以,求什么设什么,还是有道理的O_O……

最新文章

  1. CentOS yum 源的配置与使用
  2. Sublime Text使用配置介绍
  3. 学习Python的第一课(简单的单元测试)
  4. python在linux上的GUI无法弹出界面
  5. Centos7 打开80端口防火墙命令
  6. JavaScript之Ajax
  7. require.js学习笔记
  8. Using F2 to Rename Open Files
  9. 关于多台机器之前session共享,sessionState mode=&quot;StateServer&quot; 问题的困扰
  10. 积极参与开源项目,促进.NET Core生态社区发展
  11. GlusterFS 安装 on centos7
  12. pyqt5-定时器
  13. 解决:error LNK2026: 模块对于 SAFESEH 映像是不安全的
  14. SQL Server CTE 递归查询全解
  15. Validation in jQuery
  16. day44 数据库学习 索引 引用自egon 老师博客
  17. Working routine CodeForces - 706E (链表)
  18. pytest使用笔记(二)——pytest+allure配置使用
  19. Spring Boot 学习笔记 - 01
  20. JavaScirpt(JS)——js介绍及ECMAScript

热门文章

  1. MySQL 基于xtrabackup备份—热备工具
  2. PAT 甲级 1132 Cut Integer
  3. break,continue,return 的区别
  4. linux下面Zookeeper的单机模式(standalone)
  5. UVA11625_Lines of Containers
  6. windows200364位iis6 php环境搭建
  7. Now or later UVALive - 3211(2-SAT 最小值最大化)
  8. [BZOJ3172]单词
  9. HDU.1846 Brave Game (博弈论 巴什博弈)
  10. 使用Hexo写博客