题意:

你的房子在0点,1,2,3,...,n(n<=1e5)点每个点都有一颗高度为0的花,浇一次水花会长a[i]。

你有一个机器人刚开始在你家,最多走m步,每一步只能往前走或者往后走,每走到一个地方除了房子都会给花浇水,问m步以后最低那朵花的高度最大是多少。

思路:二分,并且可以证明左右横跳(即这一个点不够我们就来回走一直到够高度为止)。

需要注意步数用完直接break,每一朵花浇够次数立刻走向下一朵花(如果还有步数)。

代码:

#include<bits/stdc++.h>
#define ll long long
#define maxn 200010
using namespace std;
ll n,m,k;
ll c[maxn],a[maxn];
ll ans,tmp,sum;
inline ll read(){
ll x=,f=;
char ch=getchar();
while(ch<''||ch>''){
if(ch=='-')
f=-;
ch=getchar();
}
while(ch>=''&&ch<=''){
x=x*+ch-'';
ch=getchar();
}
return x*f;
} inline void print(ll x){
if(x<){
putchar('-');
x=-x;
}
if(x>)
print(x/);
putchar(x%+'');
}
bool jud(ll mid)
{
for(int i=;i<=n;i++) c[i]=;
ll cnt=m-;c[]=a[];
int i=;
for(;i<=n;i++)
if(i<n){
if(cnt==) break;
ll tmp=(mid-c[i]+a[i]-)/a[i];
if(tmp<=) {cnt--;c[i+]+=a[i+];continue;}
if(cnt<tmp*) break;
cnt-=tmp*;
c[i]+=a[i]*tmp;
c[i+]+=a[i+]*tmp;
if(cnt==) break;
cnt--;
c[i+]+=a[i+];
if(cnt==) break;
}
else
{
if(cnt==) break;
if(c[i]>=mid) break;
else
{
ll tmp=(mid-c[i]+a[i]-)/a[i];
if(cnt<tmp*) return ;
else c[i]+=a[i]*tmp;
}
}
for(;i<=n;i++)if(c[i]<mid) return ;
return ;
}
int main()
{
ll T,cas=;
T=read();
while(T--)
{
n=read();m=read();
ll l=,r=m;
for(int i=;i<=n;i++)
{a[i]=read();
if(r<m*a[i]) r=m*a[i];
}
if(m==) {puts("");continue;}
ll ans=r;
while(l<r)
{
ll mid=(l+r)/;
if(jud(mid)) {l=mid+;ans=mid;}
else r=mid;
}
print(ans);
putchar('\n');
}
return ;
}

2018ACM/ICPC 青岛现场赛 E题 Plants vs. Zombies的更多相关文章

  1. 2018 ACM-ICPC青岛现场赛 B题 Kawa Exam 题解 ZOJ 4059

    题意:BaoBao正在进行在线考试(都是选择题),每个题都有唯一的一个正确答案,但是考试系统有m个bug(就是有m个限制),每个bug表示为第u个问题和第v个问题你必须选择相同的选项,题目问你,如果你 ...

  2. hdu 4435 第37届ACM/ICPC天津现场赛E题

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题目:给出N个城市,从1开始需要遍历所有点,选择一 ...

  3. 2013 ACM/ICPC 长沙现场赛 A题 - Alice's Print Service (ZOJ 3726)

    Alice's Print Service Time Limit: 2 Seconds      Memory Limit: 65536 KB Alice is providing print ser ...

  4. 2013 ACM/ICPC 长沙现场赛 C题 - Collision (ZOJ 3728)

    Collision Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge There's a round medal ...

  5. hdu 4432 第37届ACM/ICPC天津现场赛B题

    题目大意就是找出n的约数,然后把约数在m进制下展开,各个数位的每一位平方求和,然后按m进制输出. 模拟即可 #include<cstdio> #include<iostream> ...

  6. 2013杭州现场赛B题-Rabbit Kingdom

    杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf ...

  7. Gym101981D - 2018ACM-ICPC南京现场赛D题 Country Meow

    2018ACM-ICPC南京现场赛D题-Country Meow Problem D. Country Meow Input file: standard input Output file: sta ...

  8. HDU 4800/zoj 3735 Josephina and RPG 2013 长沙现场赛J题

    第一年参加现场赛,比赛的时候就A了这一道,基本全场都A的签到题竟然A不出来,结果题目重现的时候1A,好受打击 ORZ..... 题目链接:http://acm.hdu.edu.cn/showprobl ...

  9. 2018ICPC青岛现场赛 重现训练

    先贴代码,以及简要题解. 和一个队友下午双排打了一下,队友光速签到,我签的J被嫌弃写得慢以及演员...然后我秒出了E了思路然而难以置信这么简单的思路当时才过了十几个,于是发现D.F不是太好做.最后交了 ...

随机推荐

  1. 一本通1639Biorhythms

    1639:Biorhythms 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 原题来自:POJ 1006 人生来就有三个生理周期,分别为体力.感情和智力周期 ...

  2. Java之Set的使用场景

    2.Set使用场景 API介绍: java.util.Set接口和java.util.List接口一样,同样继承自Collection接口, 它与Collection接口中的方法基本一致,并没有对Co ...

  3. NOI&&NOIP知识点集萃

    更新日志 \(update:2019-3-4\) 更新了自为风月马前卒的后缀数组(省选不到一个月了,我才开始学后缀数组怕是要凉凉) \(update:2019-2-21\) 更新了一篇李超线段树的讲解 ...

  4. Mouse Hunt CodeForces - 1027D(思维 找环)

    Medicine faculty of Berland State University has just finished their admission campaign. As usual, a ...

  5. Day25-JSONP跨域请求

    1.  json 是一种数据格式, jsonp 是一种数据调用的方式.你可以简单的理解为 带callback的json就是jsonp. 2. Python里面有个模块requests, request ...

  6. 部署kube-prometheus,添加邮件报警

    这个项目出自coreos,已经存在很久了,第一次尝试的时候还很简陋,现在完善了很多. 项目提供了一键部署脚本,跑起来并不难,不过个人感觉要真正掌握并灵活使用并不是很容易. kube version: ...

  7. POJ 2502 Subway / NBUT 1440 Subway / SCU 2186 Subway(图论,最短距离)

    POJ 2502 Subway / NBUT 1440 Subway / SCU 2186 Subway(图论,最短距离) Description You have just moved from a ...

  8. 在kubernetes集群中创建redis主从多实例

    分类 > 正文 在kubernetes集群中创建redis主从多实例 redis-slave镜像制作 redis-master镜像制作 创建kube的配置文件yaml 继续使用上次实验环境 ht ...

  9. 内网服务器通过Squid代理访问外网

    环境说明 项目整体需部署Zabbix监控并配置微信报警,而Zabbix Server并不能访问外网,故运维小哥找了台能访问外网的服务器做Suqid代理,Zabbix Server服务器通过代理服务器访 ...

  10. 织梦 dedecms 首页调用公司简介的内容

    首页调用公司简介的代码: {dede:sql sql='Select content,substring(content,1,300) as content from dede_arctype whe ...