1 #include<cstdio>
 2 #define MAXN 200010
 3 #define MIN(a,b) ((a)>(b)?(b):(a))
 4 #define MAX(a,b) ((a)>(b)?(a):(b))
 5 int w,tree[MAXN<<2];
 6 inline void PushUp(int rt)
 7 {
 8     tree[rt]=MAX(tree[rt<<1],tree[rt<<1|1]);
 9 }
10 void Build(int L,int R,int rt)
11 {
12     if(L==R)
13         tree[rt]=w;
14     else
15     {
16         int mid=(L+R)>>1;
17         Build(L,mid,rt<<1);
18         Build(mid+1,R,rt<<1|1);
19         PushUp(rt);
20     }
21 }
22 int Query(int val,int L,int R,int rt)
23 {
24     if(L==R)
25     {
26         tree[rt]-=val;
27         return L;
28     }
29     else
30     {
31         int ans,mid=(L+R)>>1;
32         if(val<=tree[rt<<1])
33             ans=Query(val,L,mid,rt<<1);
34         else
35             ans=Query(val,mid+1,R,rt<<1|1);
36         PushUp(rt);
37         return ans;
38     }
39 }
40 int main()
41 {
42     int h,i,x,n;
43     while(~scanf("%d%d%d",&h,&w,&n))
44     {
45         h=MIN(h,n);
46         Build(1,h,1);
47         for(i=0;i<n;i++)
48         {
49             scanf("%d",&x);
50             if(tree[1]<x)
51                 puts("-1");
52             else
53                 printf("%d\n",Query(x,1,h,1));
54         }
55     }
56     return 0;
57 }

转载于:https://www.cnblogs.com/DrunBee/archive/2012/05/21/2511430.html

【HDU】2795 Billboard相关推荐

  1. 【HDU】3441 Rotation

    题意:给出A和C(1<=A,C<=10^9),所有满足B * B * K + 1 = A * A, (K >= 0)的B,构成边长为B的正方形,等角度的围绕在一个小正方形的周围.用C ...

  2. 【HDU】1695 GCD

    题意:x在[a,b]内,y在[c,d]内,求GCD(x,y)=k的个数,题目保证a=c=1. 由于GCD(x,y)=k,则GCD(x/k,y/k)=1. 那么只要求x在[1,b/k]内,y在[1,d/ ...

  3. 【HDU】4942 Game on S♂play 线段树

    传送门:[HDU]4942 Game on S♂play 题目分析:今天下午被这道题整死了,因为我的写法导致有的数可能变成负的,但是我们有察觉到,debug了一下午还是在吃饭的时候突然想到这个问题的. ...

  4. 【HDU】5238 Calculator 【中国剩余定理+线段树】

    传送门:[HDU]5238 Calculator 题目分析: 模数可以拆成四个小素数:7,13,17,19. 这样我们可以分别对这几个素数跑答案,最后中国剩余定理搞一下就好.中间我们用线段树,保存每个 ...

  5. 【HDU】5197 DZY Loves Orzing 【FFT启发式合并】

    传送门:[HDU]5197 DZY Loves Orzing 题目分析: 首先申明,我不会dpdp方程= =--这个东西给队友找出来了,然后我就是套这个方程做题的Qrz-- 对于这题,因为n2n^2个 ...

  6. 【HDU】1535 Invitation Cards 最短路

    传送门:[HDU]1535 Invitation Cards 题目分析:题目真难读......其实题目的意思就是让求从编号为1的点到其他所有点的最短路距离之和加上其他所有点到编号为1的点的最短路距离之 ...

  7. 【HDU】4411 Arrest 费用流

    传送门:[HDU]4411 Arrest 题目分析:题目的意思一开始没看懂= =...题意大致为:派出至多K个警队遵守先灭小的再灭老的的原则将N个城市的帮派全端了(要灭编号大的必须要先灭编号小的).且 ...

  8. 【HDU】3271 SNIBB 数位DP

    传送门:[HDU]3271 SNIBB 题目分析:第一问直接求,第二问就二分.水题. 代码如下: #include <cmath> #include <cstdio> #inc ...

  9. 【HDU】5370 Tree Maker 【树dp】

    传送门:[HDU]5370 Tree Maker my  code:my~~code: #include <bits/stdc++.h> using namespace std ;type ...

最新文章

  1. 聚焦联机交易分析一体化,巨杉数据库湖仓一体云产品全线升级
  2. H.264NLU和RTSP协议理解
  3. 浅谈 LiveData 的通知机制
  4. 修改手机屏幕刷新率_到底高刷新率屏幕为智能手机带来什么?
  5. (0094)iOS开发之本地文件预览的三种方法(2)
  6. matlab 图像平滑的算法_图像相似度---灰度分布算法---用matlab实现
  7. Acdream1157---Segments (CDQ分治)
  8. 对Java初学者来说,到底Java有哪些高效的开源库?
  9. ecshop 前台个人中心修改侧边栏 和 侧边栏显示不全 或 导航现实不全
  10. debian添加删除用户
  11. 力扣——204. 计数质数
  12. Linux kmalloc/kfree 源码解读
  13. 前缀和(树状数组)构造桶数组的用法
  14. [译转]深入理解LayoutInflater.inflate()
  15. Hot Swap failed:add method not implemented
  16. BIGWORLD问题集
  17. Endnote使用——参考文献的插入及引用
  18. android11 root、android10 root、android9 root、android8.1 root、android6.0 root user版本权限开放
  19. 浏览器显示“您与此网站之间建立的连接不安全”的解决方案
  20. 车载测试常见关心问题解答

热门文章

  1. 系统实施基础:系统实施的相关知识介绍
  2. 程序员幽默:当代程序员的主要矛盾是什么?
  3. 这篇文章太懂程序员了,扎心了
  4. ES6 解构赋值的用法笔记
  5. bmp 像素点 php,读取BMP图像每一像素点RGB数据 | 学步园
  6. src与href属性的区别
  7. 交互规则_您必须永不中断的10条交互设计规则
  8. Echarts多任务可视化之再优化
  9. 绝地求生大逃杀,改配置
  10. Bash Cookbook 学习笔记 【中级】