https://nanti.jisuanke.com/t/30996

暴力跑一遍每个月 再暴力跑一遍房间序列 看以当前灯泡数量能换哪个房间 维护区间最小值 线段树二分查找

最多1e5个房间 都换完了就直接退出

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=0x3f3f3f3f3f3f3f3f;struct node
{int l;int r;ll val;
};vector <int> pre[100010];
node tree[400010];
ll ans2[100010];
ll m,gou;
int ans1[100010];
int n,q,pos;void pushup(int cur)
{tree[cur].val=min(tree[2*cur].val,tree[2*cur+1].val);
}void build(int l,int r,int cur)
{int m;tree[cur].l=l;tree[cur].r=r;tree[cur].val=N;if(l==r){scanf("%lld",&tree[cur].val);return;}m=(l+r)/2;build(l,m,2*cur);build(m+1,r,2*cur+1);pushup(cur);
}void query(ll val,int cur)
{if(tree[cur].l==tree[cur].r){gou=tree[cur].val;pos=tree[cur].l;return;}if(val>=tree[2*cur].val) query(val,2*cur);else query(val,2*cur+1);
}void update(int tar,int cur)
{if(tree[cur].l==tree[cur].r){tree[cur].val=N;return;}if(tar<=tree[2*cur].r) update(tar,2*cur);else update(tar,2*cur+1);pushup(cur);
}int main()
{ll sum;int i,j,p,num;scanf("%d%lld",&n,&m);build(1,n,1);scanf("%d",&q);for(i=1;i<=q;i++){scanf("%d",&p);pre[p].push_back(i);}sum=0,num=0;for(i=1;i<=100000;i++){if(num<n){sum+=m;while(tree[1].val<=sum&&num<n){query(sum,1);update(pos,1);sum-=gou;num++;}}for(j=0;j<pre[i].size();j++){ans1[pre[i][j]]=num,ans2[pre[i][j]]=sum;}}for(i=1;i<=q;i++){printf("%d %lld\n",ans1[i],ans2[i]);}return 0;
}

Lpl and Energy-saving Lamps 计蒜客相关推荐

  1. Lpl and Energy-saving Lamps 计蒜客多校

    题意:给你n个房间,每个房间给你一个灯泡数,再给你每天可以增加的新灯泡数m,你每次都要从左到右全都更新一遍,更新方法是:如果手中的灯泡个数大于等于房间的灯泡个数就更新这个房间,然后继续向下,否则就跳过 ...

  2. 计蒜客 挑战难题 爬楼梯

    计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...

  3. 无脑博士的试管们java_计蒜客 无脑博士和他的试管们

    标签: 无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直 ...

  4. 最短路(遍历边)计蒜客—DD坐地铁

    题目: C 城有 n 个站点, m 条双向地铁,每条地铁有一个 companyicompany_icompanyi​表示它的公司,如果连续乘坐同一家公司的地铁只要花 1元钱就好.DD现在想出门找萨摩耶 ...

  5. K - Triangle 计蒜客 - 42405

    K - Triangle 计蒜客 - 42405 题意: 给你一个三角形的三点,再给你三角形边上一个点,让你求另一个点(也要在三角形上),使得平分三角形的面积 题解: 计算几何 三角形的三边ab,ac ...

  6. H - Prince and Princess 计蒜客 - 42402

    H - Prince and Princess 计蒜客 - 42402 题意: 你现在要寻找公主,有三种人,第一种是说真话的人(至少为1,因为公主是说真话的人),第二种人是只会说假话的,第三种是胡说八 ...

  7. C - Digital Path 计蒜客 - 42397 05-29

    C - Digital Path 计蒜客 - 42397 题意: 题意就是给出一个n ∗ m的数字矩阵每个矩阵元素之间只能上下左右走,而且下一个位置必须比当前位置的数字大1,入口和出口必须数边缘元素, ...

  8. 计蒜客可以做计算机编程吗,如果你的编程能力不足以支撑你成为工程师的野心,不妨到计蒜客上学学看...

    在人才招聘领域存在这样一个怪圈,高校每年都说是最难就业年.人才过剩,而对于企业HR来说永远都招不到称心如意的人才.这个怪圈在"计蒜客"创始人俞昊然看来,主要是因为当今高校的教学资源 ...

  9. 计蒜客 - T1012 A*B问题

    计蒜客 - T1012 A*B问题 相信你已经学会 A+B 问题了,那么问题又来了- 输入两个正整数 A 和 B ,求 A×B. 输入格式 一行,包含两个正整数 A 和 B,中间用单个空格隔开. 1≤ ...

最新文章

  1. Google重磅发布开源库TFQ,快速建立量子机器学习模型
  2. AI一分钟|阿里成立“罗汉堂”;vivo微信人脸识别支付下半年商用
  3. linux shell 执行多个文件,/etc/profile、~/.bash_profile等几个文件的执行过程
  4. struts.xml配置文件中result的语法
  5. 一些知识点的初步理解_6(核函数,ing...)
  6. 如何根据sessionID获取session解决方案
  7. jquery+原生js模拟淘宝输入框下拉提示
  8. boost::type_traits模块用法的一些示例
  9. request请求在Struts2中的处理步骤
  10. 函数的自执行,变量提升和函数提升
  11. windows 获取系统CPU和进程CPU 内存等信息
  12. P2839 畅通工程
  13. 【内购篇】5 分钟教你成为会赚钱的独立开发者
  14. host文件的用途和用法
  15. 2019年小学计算机室管理制度,2019年小学信息技术教师工作计划表
  16. Swing中Laber添加下划线
  17. 大一上学期Python学习心得体会
  18. python xposed_Xposed插件开发进阶篇
  19. Java从入门到实战总结-4.2、数据库高级
  20. 微服务中的服务发现是什么?

热门文章

  1. JS验证邮箱合理性(初级版)
  2. 存储-对象存储、文件存储和块存储
  3. Linux—使用doc2unix进行文件格式转换
  4. 小牛电动电池黑科技曝光,够创新才能够实力
  5. vue xlsx.js获取单元格数据类型的hooks 单元格类型处理
  6. UDP都是全双工通信的吗
  7. 不会想当架构师的健身者不是一个好的程序员
  8. Git 【fatal: The remote end hung up unexpectedly 问题】
  9. 长沙理工大学ACMore编程协会2018年新生赛(重现赛)
  10. Task 编程中的异常处理