zoukankan      html  css  js  c++  java
  • 校门外的树4

    校门外的树4
    题目描述
    某校大门外长度为L 的马路上有一排树,每两棵相邻的树之间的间隔都是1 米。我们可
    以把马路看成一个数轴,马路的一端在数轴1 的位置,另一端在L 的位置;数轴上的每个整
    数点,即1,2,……,L,都种有一棵树。
    由于学校要盖楼。所以要将一些比较高的树砍下来当木材。学校想知道砍下某些树之后,
    还剩下多少段连续树的树木。
    比如马路的长度是5,那么1,2,3,4,5 处各有一颗树。他们的高度分别是2,7,3,5,1。现在
    学校想砍掉最高的1 颗树。那么,就会剩下2 段树木,一段是从下标1 开始到下标1 结束的
    树,另一段是从下标为3 开始到下标为5 结束的树。
    输入格式
    输入的第一行有两个整数L(1 <= L <= 106)和M(1 <= M <= 105),L 代表马路的长度,
    M 代表总共砍M 次树。
    第二行包含L 个不相同的正整数,为树木的高度h(0< h < 108)。
    第三行包含M 个正整数k[i],表示学校想砍掉最高的k[i]颗树(0 < k[i] < 105)。
    保证树木不会被砍光
    输出格式
    总共输出M 行,学校每次砍完一次树(k 颗),输出一个数字,这个数字占一行,表示剩
    下多少段树。
    样例输入
    5 2
    2 7 3 5 1
    1 1
    样例输出
    2
    3
    提示
    成吨的输入量,请进行IO 优化。
    本题时间限制3 秒

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<cmath>
     5 using namespace std;
     6 int i,j,m,n,l,da = 1,vis[1000005],op,t = 0;
     7 struct node
     8 {
     9     int h;
    10     int x;
    11 }a[1000005];
    12 int cmp(node a,node b)
    13 {
    14     return a.h > b.h;
    15 }
    16 int main()
    17 {
    18     scanf("%d %d",&l,&m);
    19     for(i = 1;i <= l;i++)
    20     {
    21         vis[i] = 1;
    22         scanf("%d",&a[i].h);
    23         a[i].x = i;
    24     }
    25     sort(a + 1,a + 1 +l,cmp);
    26     for(i = 1;i <= m;i++)
    27     {
    28         scanf("%d",&op);
    29         for(j = op;j >= 1;j--)
    30         {
    31             t = t + 1;
    32             a[t].h = 0;
    33             if(vis[a[t].x - 1] == 1 && vis[a[t].x + 1] == 1)
    34             da++;
    35             else if(vis[a[t].x - 1] != 1 && vis[a[t].x + 1] != 1)
    36             da--;
    37             vis[a[t].x] = 0;
    38         }
    39         printf("%d",da);
    40         if(i != m)
    41         printf("
    ");
    42     }
    43     return 0;
    44 }
  • 相关阅读:
    vue中的 computed 和 watch 的区别
    mysql8.0 初始化数据库及表名大小写问题
    sql server alwayson 调整数据文件路径
    zabbix 自定义监控 SQL Server
    mysql 创建用户及授权
    mysql 设置从库只读模式
    mysql8.0 主从复制安装及配置
    centos8.0安装mysql8.0
    centos8替换阿里数据源
    npm publish 报错 【you or one of your dependencies are requesting a package version that is forbidden by your security policy】
  • 原文地址:https://www.cnblogs.com/rax-/p/9799779.html
Copyright © 2011-2022 走看看