题面很玄学,要是我也有这么一台机器就好了QAQ
如果知道了一题几行,判断合不合法应该是很简单的,就是一个简单的模拟QAQ

long long check(long long middle/*传进来的值,就是一题几行*/)
{long long i,sum=0,pd=0;for(i=1;i<=l;i++){sum+=a[i];if(sum>=middle){pd++;sum=0;}//刷了一题sum=MAX(sum,0);//党sum<0时要为0}//如果刷的题数和要求一样就返回truereturn k==pd;
}

然后只要套上两个二分QAQ

#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<string.h>
#include<algorithm>
#define INF 0x7f7f7f7f7f7f7f//最大值要稍微定大一点,感觉在OJ上提交几百亿行代码好玄学QAQ
using namespace std;
long long MAX(long long a,long long b)
{if(a>b)return a;else return b;
}
long long i,j,k,l;
long long a[200000];
long long check(long long middle)
{long long i,sum=0,pd=0;for(i=1;i<=l;i++){sum+=a[i];if(sum>=middle){pd++;sum=0;}sum=MAX(sum,0);}return pd;//返回刷的题数比较方便判断
}long long Logn_max(long long left,long long right)//二分最大值
{long long middle,answer=-1,Check;while(right>=left){middle=(left+right)/2;Check=check(middle);if(Check>k){left=middle+1;}else {right=middle-1;if(Check==k)answer=middle;/*这里要注意,必须要是等于k才能更新ans,下同*/}}return answer;
}
long long Logn_min(long long left,long long right)//二分最小值
{long long middle,answer=-1,Check;while(right>=left){middle=(left+right)/2;Check=check(middle);if(Check>=k/*注意这里和最小值是不一样的QAQ*/){left=middle+1;if(Check==k)answer=middle;}else right=middle-1;}return answer;
}int main()
{cin>>l>>k;for(i=1;i<=l;i++)cin>>a[i];long long Max=Logn_max(1,INF),Min=Logn_min(1,INF);//二分一下ansif(Min!=-1/*如果没有解就输出-1*/)cout<<Max<<" "<<Min;/*有解就输出解*/else cout<<-1;return 0;
}

P4343 自动刷题机相关推荐

  1. P4343 自动刷题机题解(二分)

    题目 题目背景 曾经发明了信号增幅仪的发明家 SHTSC 又公开了他的新发明:自动刷题机--一种可以自动 AC 题目的神秘装置. 题目描述 自动刷题机刷题的方式非常简单:首先会瞬间得出题目的正确做法, ...

  2. P4343 [SHOI2015]自动刷题机

    P4343 [SHOI2015]自动刷题机 明显二分答案 然后对于一个mid直接按照题意模拟一下 如果cnt==k那么ans=x,只记录相等的答案 最后记得:-1只输出一个! 代码: #include ...

  3. P4343 [SHOI2015]自动刷题机 Python(二分答案)

    在这吐槽一下洛谷的OJ,对Python不是很友好,一样的思路实现下来大部分数据会TLE,需要不断的优化复杂度  :( 题目地址:[SHOI2015]自动刷题机 - 洛谷 优化不下去了,对比了一下Pyt ...

  4. BZOJ4590 [Shoi2015]自动刷题机

    Description 一个自动刷题机,每次有两种操作:写下\(x\)行代码或删除\(x\)行代码(不足则全部删除).存在一个\(n\),每当代码量大于等于\(n\)时将提交一次并把代码全部删除.已知 ...

  5. [SHOI2015]自动刷题机

    [SHOI2015]自动刷题机 题目描述 曾经发明了信号增幅仪的发明家 SHTSC 又公开了他的新发明:自动刷题机--一种可以自动 AC 题目的神秘装置. 自动刷题机刷题的方式非常简单:首先会瞬间得出 ...

  6. [bzoj4590][Shoi2015]自动刷题机

    来自FallDream 的博客,未经允许,请勿转载,谢谢. 曾经发明了信号增幅仪的发明家ditoly又公开了他的新发明:自动刷题机--一种可以自动AC题目的神秘装置.自动刷题机刷题的方式非常简单:首先 ...

  7. HDU 自动刷题机 Auto AC (轻轻松松进入HDU首页)

    前言: 在写这篇文章之前,首先感谢给我思路以及帮助过我的学长们 以下4篇博客都是学长原创,其中有很多有用的,值得学习的东西,希望能够帮到大家! 1.手把手教你用C++ 写ACM自动刷题神器(冲入HDU ...

  8. python题库刷题训练软件_自动刷题机 Python 解释源码 超新泛雅

    本文解释一下代码,如果有想要用机器刷题的(前提是能找的到答案),可以参考一下. 开发原因:作业又多又无聊自己不想做,干脆用机器刷题. 主要方法:主要用Python的selenium库实现刷题. 需要基 ...

  9. luoguP4343自动刷题机

    https://www.luogu.org/problem/P4343 又是一题二分答案.....自主思考吧....不熟悉的可以选择看看我之前写的二分博文,当然也可以在网上找一些.... (主要原因是 ...

最新文章

  1. 一文告诉你,大数据在智慧医疗领域发挥的作用
  2. The whole Fiori application is wrapped in a big shell xml view
  3. ux和ui_他们说,以UX / UI设计师的身份加入一家初创公司。 他们说,这会很有趣。
  4. 科目二、科目三易挂项目整理和网友支招
  5. php date 有warning,PHP Warning: strtotime()错误解决办法
  6. iPhone ARC 宏定义
  7. 想搞一套AI问答游戏系统?简单,Google又开源了
  8. 【莫比乌斯反演】[HYSBZ/BZOJ2693]jzptab
  9. 阿里4万亿市值是怎样炼成的?(深度)
  10. 页面中文乱码,tomcat服务器,jsp乱码
  11. 视频网站套上CDN是什么效果?
  12. NYOJ小明的存钱计划
  13. 朝花夕拾 - jsliang 大白前端新年庆
  14. 明日书苑|硬笔书法临写指南
  15. 康蒂尼药业再次冲刺港股:9个月营收4.4亿 龙磐创投是股东
  16. 请不要在“微服务”的狂热中迷失自我!
  17. 第三方支付机构的资本:客户备付金
  18. Sklearn_LearningCurve
  19. 灵性图书馆:好书推荐-《把好运吸过来》
  20. CSS预处理之less,sass

热门文章

  1. 浪潮集团姜振华:智慧城市运营 引领城市可持续发展
  2. 关于使用 trados 抽取 中文术语 的方法
  3. amdxio能在linux下运行吗,用AMD Framebuffer Utility生成的同学一定要记得把后面8个0去掉...
  4. 2022起重机械指挥考试试题及模拟考试
  5. Python快速实现简易飞机大战小游戏
  6. 工作之余休闲的55件事情
  7. PROCESSENTRY32结构 详细介绍
  8. HTML中空格的几种表示
  9. 【UGUI】 全屏背景图片等比例拉伸自适应
  10. 低成本家庭KTV方案