首页 > 代码库 > 武汉科技大学ACM:1003: 看美女
武汉科技大学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
151 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\n",sum);36 }37 return 0;38 }
武汉科技大学ACM:1003: 看美女
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。