时间限制: 1.0 秒

空间限制: 256 MB

题目描述
由于触犯天神,Sisyphus 将要接受惩罚。

宙斯命 Sisyphus 推一块巨石上长度为 L的山坡。Sisyphus 匀速向上推的速度为每年 v 的长度(由于是匀速,故经过1/2年将能向上推 1/2的长度)。然而,宙斯并不希望 Sisyphus 太快到达山顶。宙斯可以施展 n 个魔法,若宙斯施展第 i个魔法(1≤i≤n),则当 Sisyphus 第一次到达位置 a i时,他将会同巨石一起滚落下山底,并从头推起。(滚落的时间忽略不计,即可看作第一次到达位置 ai后 Sisyphus 立即从山底重新出发)

例如宙斯施用了 ai =3 与 ai=5 的两个魔法。Sisyphus 的速度 v = 1,山坡的长度 L = 6,则他推石上山过程如下:

1.用 3 年走到位置 3。
2.受 ai=3 的魔法影响,回到了山底出发。
3.再用 3 年走到位置 3,然而因为是第二次到达,ai=3 的魔法不起作用。
4.用 2 年走到位置 5。
5.受 ai=5 的魔法影响,回到了山底出发。
6.用 66 年从山底走到了山顶。花费的总时间为 1414 年。

现在,宙斯有 q 个询问。对于第 i 个询问 ti,宙斯想知道,他最少需要施展多少个魔法才能使 Sisyphus 到达山顶所用的年数大于 ti 。

输入格式
第一行三个整数 n, L,v 分别表示魔法的种类数,山坡的长度,Sisyphus 的速度。

第二行 n 个整数。第 i 个整数 ai表示第 i 个魔法作用的位置。(1≤i≤n)

第三行一个整数 q 表示宙斯的询问个数。

接下来 q 行每行一个整数,第 i 行的整数 ti表示宙斯的第 ii 个询问。(1≤i≤q)

输出格式
输出 q 行,每行恰好一个整数,第 i 行的整数对应第 i 个询问的答案。(1≤i≤q)

如果宙斯无论如何都不能使 Sisyphus 使用的年数大于 ti,请输出 -1。

样例1输入
3 6 3
3 5 1
4
1
3
4
5

样例1输出
0
1
2
-1

————————————————
因为选k个魔法时,选最大的k个Ai所需时间最长,所以先将{A}从大到小排序,
最后二分答案
//PS:虽然nq<231,但vti>231所以要开long long。
代码如下

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
bool cmp(long long a,long long b)
{return a>b;
}
long long n,L,v,q;
long long mag[200010];
long long gs[200010];
int main()
{freopen("endless.in","r",stdin);freopen("endless.out","w",stdout);scanf("%lld%lld%lld",&n,&L,&v);for(long long i=1;i<=n;i++)scanf("%lld",&mag[i]);stable_sort(mag+1,mag+n+1,cmp);for(long long i=2;i<=n;i++)mag[i]+=mag[i-1]; scanf("%lld",&q);for(long long i=1;i<=q;i++){long long t;long long jl;scanf("%lld",&t);jl=t*v;if(gs[t]){printf("%lld\n",gs[t]);continue;}gs[t]=-1;long long l=0,r=n,mid=(l+r)/2;while(l<=r){if(L+mag[mid]>jl){r=mid-1;gs[t]=mid;}else{l=mid+1;}mid=(l+r)/2;}printf("%lld\n",gs[t]);}fclose(stdin);fclose(stdout);return 0;
}

未了(endless)([CCF] NOI Online 能力测试2 入门组第一题)相关推荐

  1. 未了(endless)(【CCF】NOI Online 能力测试2 入门组第一题 )

    时间限制: 1.0 秒 空间限制: 256 MB 题目描述 由于触犯天神,Sisyphus 将要接受惩罚. 宙斯命 Sisyphus 推一块巨石上长度为 L的山坡.Sisyphus 匀速向上推的速度为 ...

  2. 涂色游戏color(【CCF】NOI Online 能力测试2 提高组第一题 )

    子序列问题sequence([CCF]NOI Online能力测试2 提高组第二题 ) 游戏match([CCF]NOI Online能力测试2 提高组第三题 ) 题目背景 1s 256M 题目描述 ...

  3. 子序列问题sequence(【CCF】NOI Online能力测试2 提高组第二题 )

    本题代码稍后加入 题目背景 2s 512M 题目描述 给定一个长度为 n的正整数序列 A1, A2, ⋯, An .定义一个函数 f(l,r) 表示:序列中下标在 [l,r]范围内的子区间中,不同的整 ...

  4. 建设城市(city)(【CCF】NOI Online 能力测试2 入门组第三题 )

    时间限制: 1.0 秒 空间限制: 256 MB 题目描述 球球是一位建筑师.一天,他收到市长的任务:建设城市.球球打算建造 2n 座高楼.为了保证城市美观,球球做出了如下计划: 球球喜欢整齐的事物. ...

  5. 观星(【CCF】NOI Online能力测试3 入门组)

    题目描述 Jimmy 和 Symbol 约好一起看星星,浩瀚的星空可视为一个长为 N.宽为 M 的矩阵,矩阵中共有 N×M 个位置,一个位置可以用坐标 (i,j)(1≤i≤N,1≤j≤M)来表示.每个 ...

  6. 最急救助(【CCF】NOI Online能力测试3 入门组)

    题目描述 救助中心每天都要收到很多求救信号.收到求救信号后,救助中心会分析求救信号,找出最紧急的求救者给予救助. 求救信号是一个由小写英文字母组成的字符串,字符串中连续三个字符依次组成sos的情况越多 ...

  7. 买表(【CCF】NOI Online能力测试3 入门组)

    题目描述 Jimmy 到 Symbol 的手表店买手表,Jimmy 只带了 nn 种钱币,第 ii 种钱币的面额为 ki​ 元,张数为 ai​ 张.Symbol 的店里一共有 m 块手表,第 i 块手 ...

  8. 游戏match(【CCF】NOI Online能力测试2 提高组第三题 )

    题目背景 1s 512M 题目描述 小 A 和小 B 正在玩一个游戏:有一棵包含 n=2m个点的有根树(点从1∼n 编号),它的根是 1 号点,初始时两人各拥有 m 个点.游戏的每个回合两人都需要选出 ...

  9. 文具订购(【CCF】NOI Online能力测试 入门组第一题)

    [题目描述] 小明的班上共有 n 元班费,同学们准备使用班费集体购买 3 种物品: 1.圆规,每个 7 元. 2.笔,每支 4 元. 3.笔记本,每本 3 元. 小明负责订购文具,设圆规,笔,笔记本的 ...

  10. 优秀子序列(【CCF】NOI Online能力测试3 提高组)

    题目描述 现在请你求出 A 的所有优秀子序列的价值之和,答案对 10^9+7 取模. 输入格式 第一行一个正整数 n 表示序列长度. 第二行 n 个用空格分隔的非负整数,表示 a1​,a2​,⋯,an ...

最新文章

  1. AIDL 和binder 原理
  2. Strusts2 高危漏洞又来了,老项目自查起来!
  3. canvas 移动光速特效-
  4. iphone开发中的一些小技
  5. 关于Spring batch的学习之CSV2DB
  6. ios 裁剪圆形头像_iOS开发之裁剪圆形头像
  7. 713C - 如何进入一个研究领域
  8. Lesson 07 for Plotting in R for Biologists
  9. Acme CAD ConverterDWG文件查看器 2021
  10. QC七大手法之直方图详解
  11. 工程点点app爬虫和sign算法破解
  12. shiro 记住我 的实现
  13. 面试必备:虾皮服务端15连问
  14. Exception thrown from ApplicationListener handling ContextClosedEvent
  15. 中国移动SP短信网关接入平台
  16. 用户的登录及注册功能
  17. 以 Broadcom Corporation BCM4311、BCM4312、BCM4313、BCM4321 或 BCM4322 为基础的无线网络卡...
  18. 鸿蒙系统一直重启怎么办,我的电脑能开机随后就是进不了系统一直黑在那边,时间长了就自动重启...
  19. 直播电商购物消费者满意度在线调查报告(三)
  20. shell脚本监控网站是否正常

热门文章

  1. 内涵一下我参加过的那些竞赛。
  2. Windows超级管理器,电脑必备神器,内置超多实用小工具,帮你解决电脑相关问题!
  3. C语言第1讲——基本编程知识
  4. DSPE-PEG-Alkyne/CHO 磷脂聚乙二醇炔基/醛基
  5. 航悦达 HYD-3000 打印机驱动
  6. Hibernate实践JBX+MY SQL4.0
  7. java+svm多分类器_svm多分类的java源码
  8. Go使用gos7实现西门子PLC通讯
  9. 多传感器融合的四种经典结构
  10. 为什么中国神仙比较负责任?