1、题意:题意很简洁吧,就不概括了

2、分析:我思考了半天,我猜答案满足单调。。。没敢写,看了题解去问Claris为啥单调,Claris一句话“ 因为n越大明显不可能做更多题 ”,后来没找到反例我也放弃了

满足单调的话就二分答案咯

  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <cstring>
  4. #include <algorithm>
  5. using namespace std;
  6. #define M 200010
  7. #define LL long long
  8.  
  9. inline int read(){
  10. char ch = getchar(); int x = 0, f = 1;
  11. while(ch < '0' || ch > '9'){
  12. if(ch == '-') f = -1;
  13. ch = getchar();
  14. }
  15. while('0' <= ch && ch <= '9'){
  16. x = x * 10 + ch - '0';
  17. ch = getchar();
  18. }
  19. return x * f;
  20. }
  21.  
  22. int a[M];
  23. int n, m;
  24.  
  25. inline int check(LL x){
  26. int cnt = 0;
  27. LL now = 0;
  28. for(int i = 1; i <= n; i ++){
  29. now += a[i];
  30. now = max(0ll, now);
  31. if(now >= x) cnt ++, now = 0;
  32. }
  33. return cnt;
  34. }
  35.  
  36. int main(){
  37. n = read(), m = read();
  38. for(int i = 1; i <= n; i ++) a[i] = read();
  39. LL l = 1, r = 10000000000000, t1 = 1, t2 = 10000000000000;
  40. while(l <= r){
  41. LL mid = (l + r) / 2;
  42. if(check(mid) >= m) l = (t1 = mid) + 1;
  43. else r = mid - 1;
  44. }
  45. l = 1, r = 10000000000000;
  46. while(l <= r){
  47. LL mid = (l + r) / 2;
  48. if(check(mid) <= m) r = (t2 = mid) - 1;
  49. else l = mid + 1;
  50. }
  51. if(check(t2) != m || check(t1) != m){
  52. printf("-1");
  53. return 0;
  54. }
  55. printf("%lld %lld", t2, t1);
  56. return 0;
  57. }
  58. 

BZOJ4590——[Shoi2015]自动刷题机的更多相关文章

  1. BZOJ4590 Shoi2015 自动刷题机 【二分】

    BZOJ4590 Shoi2015 自动刷题机 Description 曾经发明了信号增幅仪的发明家SHTSC又公开了他的新发明:自动刷题机–一种可以自动AC题目的神秘装置.自动刷题机刷题的方式非常简 ...

  2. bzoj4590: [Shoi2015]自动刷题机(二分答案)

    4590: [Shoi2015]自动刷题机 题目:传送门 题解: 很明显的一道二分题. 对于二分性的判断:如果n越大,那么AC的题就越少,n越小,AC的题就越多,那么最大最小值都满足单调性,直接瞎搞. ...

  3. COGS2642 / Bzoj4590 [Shoi2015]自动刷题机

    Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 906  Solved: 321 Description 曾经发明了信号增幅仪的发明家SHTSC又公开了 ...

  4. BZOJ4590: [Shoi2015]自动刷题机

    显然看着就是二分,仔细看的话显然刷的题数随n增大单调不升. 挂了一发是因为无解输出一个-1而不是两个…… #include<cstdio> #include<algorithm> ...

  5. bzoj千题计划278:bzoj4590: [Shoi2015]自动刷题机

    http://www.lydsy.com/JudgeOnline/problem.php?id=4590 二分 这么道水题 没long long WA了两发,没判-1WA了一发,二分写错WA了一发 最 ...

  6. BZOJ4590 SHOI2015自动刷题机(二分答案)

    二分答案,分别往尽量小的和尽量大的二分即可. #include<iostream> #include<cstdio> #include<cmath> #includ ...

  7. 【BZOJ4590】[Shoi2015]自动刷题机 二分

    [BZOJ4590][Shoi2015]自动刷题机 Description 曾经发明了信号增幅仪的发明家SHTSC又公开了他的新发明:自动刷题机--一种可以自动AC题目的神秘装置.自动刷题机刷题的方式 ...

  8. 【BZOJ-4590】自动刷题机 二分 + 判定

    4590: [Shoi2015]自动刷题机 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 156  Solved: 63[Submit][Status ...

  9. BZOJ_4590_[Shoi2015]自动刷题机_二分答案

    BZOJ_4590_[Shoi2015]自动刷题机_二分答案 Description 曾经发明了信号增幅仪的发明家SHTSC又公开了他的新发明:自动刷题机--一种可以自动AC题目的神秘装置.自动 刷题 ...

随机推荐

  1. javascript详解系列-函数表达式

    1.递归 function fact(num){ if(num<1){ return 1; } else{ return num*fact(num-1); } } var author = fa ...

  2. ajax实现下拉菜单无刷新加载更多

    $(function() { var page = 1; var discount = $('#discount'); var innerHeight = window.innerHeight; va ...

  3. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 服务器之间的接口通讯功、信息交换

    1:当远程调用方法时,会有很多种可能性发生.接口调用之后,发生错误是什么原因发生的?反馈给开发人员需要精确.精准.高效率,这时候若能返回出错状态信息的详细信息,接口之间的调用就会非常顺利,各种复杂问题 ...

  4. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 更优美的Oracle数据库上的代码生成器

    代码生成器进行了改进,针对Oracle数据库生成更优美的代码.这样生成出来的代码,更像微软的风格,更像C#.NET的标准规范,阅读起来也更优美.把Oracle表字段名默认大写, 有_分割等进行了优化, ...

  5. Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime

    Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime        周银辉 我的mac os 版本是10.9.2,  JDK配置得好好的,但打开eclipse时还是提示需 ...

  6. jquery easyui 1.4.1 API( CHM版)

    ChangeLog Bug The combogrid has different height than other combo components. fixed. datagrid: The r ...

  7. OrchardNoCMS vNext如何在VS2015下调试

    由于VS2015还没有出来正式版,ASP.NET 5也是没有出来正式版.所以在你下载了OrchardNoCMS vNext的代码后,需要配置一些东西,才能启动项目,开始调试. 需要注意以下几点: 1. ...

  8. SignalR主动通知订阅者示例

    html代码: <script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script> <scri ...

  9. php判断中文,英文, 数字

    exeg Warning  This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0. function checkStr ...

  10. <<< Java提取网页源码

    package com.sevennight; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...