总时间限制: 
10000ms

单个测试点时间限制: 
1000ms

内存限制: 
65536kB
描述

LGTB 最近在学分块,但是他太菜了,分的块数量太多他就混乱了,所以只能分成 3 块

今天他得到了一个数组,他突然也想把它分块,他想知道,把这个数组分成 3 块,块可以为空。假设 3 块各自的和中的最大值最小

请输出分完之后 3 块中的最大值

输入
输入第一行包含一个整数 n 代表数组大小
接下来 n 个整数 a1 , a2 , ..., a n ,代表数组
输出
输出包含 1 个整数,代表分块完成后 3 块中的最大值
样例输入
10
2 5 1 4 7 3 6 2 5 1
样例输出
14
提示
对于 40% 的数据,1 ≤ n ≤ 10
对于 70% 的数据,1 ≤ n ≤ 1e3
对于 100% 的数据,1 ≤ n ≤ 1e5 , 1 ≤ ai ≤ 1e7
【思路】二分答案 加long long多30分,修改左端点+10分,一开始我的左端点是0.全场第一个AC热烈鼓掌啊哈哈哈。
【code】
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define Max 100009
long long a[Max];
long long tot,n,mid,l,r,ans;
long long Minn=;
bool check(long long x)
{
long long cnt=,totscor=;
for(int i=;i<=n;i++)
{
totscor+=a[i];
if(totscor>x)
{
totscor=a[i];
cnt++;
if(cnt>)
{
return ;
}
}
}
return ;
}
int main()
{
scanf("%lld",&n);
for(int i=;i<=n;i++)
{
scanf("%lld",&a[i]);
Minn=min(a[i],Minn);
tot+=a[i];
}
l=Minn;r=tot;
while(l<=r)
{
mid=(l+r)>>;
if(check(mid))ans=mid,r=mid-;
else l=mid+;
}
printf("%lld",ans);
return ;
}

09:LGTB 学分块的更多相关文章

  1. 神奇的NOIP模拟赛 T2 LGTB 学分块

    LGTB 学分块 LGTB 最近在学分块,但是他太菜了,分的块数量太多他就混乱了,所以只能分成3 块今天他得到了一个数组,他突然也想把它分块,他想知道,把这个数组分成3 块,块可以为空.假设3 块各自 ...

  2. LGTB 学分块

    总时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  65536kB 描述 LGTB 最近在学分块,但是他太菜了,分的块数量太多他就混乱了,所以只能分成 3 块 今天他得 ...

  3. 跟hzwer学分块!?

    orz hzwer.分块啥的真是太强了- (块状链表也真是太强了-) Upd:Upd:Upd: 好像链接时不时会炸?这个时候就体现了转载的作用 如果上面链接用不了就戳这里

  4. OI 刷题记录——每周更新

    每周日更新 2016.05.29 UVa中国麻将(Chinese Mahjong,Uva 11210) UVa新汉诺塔问题(A Different Task,Uva 10795) NOIP2012同余 ...

  5. NOIP simulation

    NOIP 模拟赛Day 1题目名称LGTB 玩扫雷LGTB 学分块LGTB 打THD英文代号mine divide thd时限1 秒1 秒1 秒输入文件mine.in divide.in thd.in ...

  6. 【TYVJ】1463 - 智商问题(二分/分块)

    http://tyvj.cn/Problem_Show.aspx?id=1463 二分的话是水题啊.. 为了学分块还是来写这题吧.. 二分: #include <cstdio> #incl ...

  7. 数列分块总结——题目总版(hzwer分块九题及其他题目)(分块)

    闲话 莫队算法似乎还是需要一点分块思想的......于是我就先来搞分块啦! 膜拜hzwer学长神犇%%%Orz 这九道题,每一道都堪称经典,强力打Call!点这里进入 算法简述 每一次考试被炸得体无完 ...

  8. LOJ 6277:数列分块入门 1(分块入门)

    #6277. 数列分块入门 1 内存限制:256 MiB时间限制:100 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计讨论 3 测试数据 题目描述 给出一 ...

  9. Android之EACCES (Permission denied)与Permission denied异常探密

    话说,Accipiter君,最近又开始怒学Android了,记得刚开始还是09年学的,现在的手机还是华为出的最早的一款Android手机C8500,那时候就想好好学习Android,赚点小钱,可是~~ ...

随机推荐

  1. CodeForces - 813C The Tag Game(拉格朗日乘数法,限制条件求最值)

    [传送门]http://codeforces.com/problemset/problem/813/C [题意]给定整数a,b,c,s,求使得  xa yb zc值最大的实数 x,y,z , 其中x ...

  2. css可见性

    overflow:hidden:       溢出隐藏 visibility:hidden:        隐藏元素,隐藏之后还占据原来的位置 display:none:            隐藏元 ...

  3. hadoop学习 的yarn

    Yarn的产生 mapReduc1.0 1单点故障 2扩展效率低 3资源利用率高 降低运维成本 方便数据共享 多计算框架支持 MapReduce Spark Storm Yarn的架构图 Yarn模块 ...

  4. 浅析keepalived vip漂移原理与VRRP协议

    2017-01-18 Martin 开源技术社区 简介 什么是keepalived呢?keepalived是实现高可用的一种轻量级的技术手段,主要用来防止单点故障(单点故障是指一旦某一点出现故障就会导 ...

  5. 【CV知识学习】神经网络梯度与归一化问题总结+highway network、ResNet的思考

    这是一篇水货写的笔记,希望路过的大牛可以指出其中的错误,带蒟蒻飞啊~ 一.    梯度消失/梯度爆炸的问题 首先来说说梯度消失问题产生的原因吧,虽然是已经被各大牛说烂的东西.不如先看一个简单的网络结构 ...

  6. SD卡读写之FileNotFoundException: /storage/emulated/0object.txt: open failed: ENOENT (No such file or dir

    读写sd卡中的文件依照例如以下步骤:1调用Environment的getExternalStorageState()方法推断手机上是否插入了sd卡.而且应用程序具有读写SD卡的能力 //假设手机已经插 ...

  7. Linux C++的多线程编程(转)

    1. 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者.传统的Unix也支持线程的概念,但是在一个进程(proces ...

  8. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 使用Napa开发SharePoint应用程序

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 使用Napa开发SharePoint应用程序         假设 ...

  9. poj2595(凸包)

    Min-Max Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2192   Accepted: 502 Descriptio ...

  10. ansible 基本命令学习与踩坑

    1. 命令行参数 -v,–verbose 详细模式,如果命令执行成功,输出详细的结果(-vv –vvv -vvvv) -i PATH,–inventory=PATH 指定host文件的路径,默认是在/ ...