• 武汉科技大学ACM:1003: 看美女


    Problem Description

    “排排站,赏美女……”

    YJ师兄在今年牡丹江赛区人品爆发,怒摘银奖,心情倍好,现组织大家去黄家湖边站成一排看美女 ^.^

    N个人站成一排。不巧,美女们只在队伍的最左边和最右边,你们可以向左看或者向右看。如果第i个人向左看,当且仅当第i个人的身高h[i]>=h[j] ( j=1...i-1) 时,他能看到美女;如果第i个人向右看,当且仅当第i个人的身高h[i]>=h[j] (j=i+1..N)时,他能看见美女。已知N个人的身高,求最多有多少人能看到美女。

    Input

    先输入一个正整数T,表示有T组数据

    每组数据:第一行 N。N<=100 000

         第二行N个整数,表示每个人的身高(1<=h<=20000)

    Output

    输出能看到美女的人数。

    Sample Input

    1
    5
    1 4 7 6 2
    

    Sample Output

    5
    
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     int T,n,i,a[100005],b[100005];
     6     int m_ax,sum;
     7     scanf("%d",&T);
     8     while(T--)
     9     {
    10         memset(b,0,sizeof(b));
    11         scanf("%d",&n);
    12         for(i=1; i<=n; i++)
    13             scanf("%d",&a[i]);
    14         m_ax=a[1];
    15         sum=0;
    16         for(i=1; i<=n; i++)
    17         {
    18             if(a[i]>=m_ax)
    19             {
    20                 m_ax=a[i];
    21                 sum++;
    22                 b[i]=1;
    23             }
    24         }
    25         m_ax=a[n];
    26         for(i=n; i>0; i--)
    27         {
    28             if(a[i]>=m_ax)
    29             {
    30                 m_ax=a[i];
    31                 if(b[i]==0)
    32                     sum++;
    33             }
    34         }
    35         printf("%d
    ",sum);
    36     }
    37     return 0;
    38 }
  • 相关阅读:
    ORACLE获取DML(Insert into)的方法
    联动
    浏览器插件使用
    tomcat 修改用户名和密码
    Oracle单行函数
    CVS团队源代码管理
    jotm的xml
    ORACLE获取DDL(Create Table)的几种常用的方法
    正则表达式详解
    java.lang.NoClassDefFoundError
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4174633.html
Copyright © 2020-2023  润新知