题目名称 1897. [国家集训队2011]工作评估
输入输出 nt2011_zej_b.in/out
难度等级 ★★★☆
时间限制 3000 ms (3 s)
内存限制 512 MiB
测试数据 20
题目来源 Gravatarcstdio 于2014-12-22加入
开放分组 全部用户
提交状态
分类标签
分块
分享题解
通过:6, 提交:14, 通过率:42.86%
Gravatarmikumikumi 100 7.358 s 117.86 MiB C++
Gravatar514flowey 100 7.609 s 261.95 MiB C++
Gravatarlichang 100 8.849 s 116.38 MiB C++
Gravatarlichang 100 8.850 s 116.35 MiB C++
GravatarSteven 100 10.215 s 5.27 MiB C++
Gravatarmikumikumi 100 23.058 s 4.33 MiB C++
Gravatarlichang 95 8.777 s 116.38 MiB C++
Gravatarmikumikumi 30 1.165 s 3.57 MiB C++
Gravatarlichang 30 7.621 s 116.38 MiB C++
Gravatarmikumikumi 30 42.007 s 4.33 MiB C++
关于 工作评估 的近10条评论(全部评论)
所以说我为什么想在查询时建块呢。
Gravatarmikumikumi
2016-03-31 18:31 1楼

1897. [国家集训队2011]工作评估

★★★☆   输入文件:nt2011_zej_b.in   输出文件:nt2011_zej_b.out   简单对比
时间限制:3 s   内存限制:512 MiB

【试题来源】

2011中国国家集训队命题答辩

【问题描述】

利用空闲时间,BX希望外出工作,工作开始之前,公司就会给BX一个评估值X0,之后每天BX的评估值都是根据上一天的评估值和当天公司的运行状况得出,即Xi=Xi-1+Di,但是每天的评估值有一个上限,也就是说完整的评估公式因该是Xi=min{Xi-1+Di,Li}。
现在BX已经知道了该公司对自己的初始评估值X0、公司每天的运行状况Di、每天的评估上限Li,他的空闲时间是从第A天到第B天,他希望找到一段时间i,j (A≤i≤j≤B),使得从第i天开始工作,到第j天结束后的评估值最大。当然如果任意一段时间的工作得到评估值都<初始评估值X0,BX可以选择不工作,从而得到最大的评估值。

【输入格式】

输入的第一行包含两个整数N、M,分别表示总共工作天数和询问数。
第二行N个数,表示Di
第三行N个数,表示Li
以下M行,每行3个数A、B、X0,表示一次询问。

【输出格式】

M行,每行输出一个整数,表示评估的最大值

【样例输入】

6 3
-6 5 3 2 -3 4
8 10 8 1 9 9
1 3 9
2 6 3
3 4 0

【样例输出】

10
8
3

【数据规模和约定】

对于30%数据,满足N,M<101
对于60%数据,满足N,M<10001
对于100%数据,满足N,M<50001,|Di|<10001,0≤Li<1000000001