问题 H: 零基础学C/C++187——美丽的黄山
题目描述
众所周知,黄山市一片山(而不是一座山)。假设这些山排成了一排,每座山有各自的高度。现在游客们从最左边看山,有些山因为高度没有它左边的某座山高,就会被遮住,游客们就无法看到。现在请告诉游客,他能看到几座山(看到山顶即可被认为看到了,如果恰好山顶被遮住了,这座山也不算被看到)
输入
第1行1个正整数n,表示有N座山
第2行N个正整数,依次表示从左到右每座山的高度,每2个数之间用一个空格隔开
输出
一行一个正整数,表示从左端看,能看到多少座山
样例输入 Copy
5
3 7 7 2 8
样例输出 Copy
3
题解
有点想不明白为啥通过比率才758/1720,有人问我就写了。
就是求从左边开始的最长升序自序列的元素个数
3 7 8
代码(AC)
点击查看代码
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int i,n;
cin>>n;
int a[n];//这不是一个好习惯-(>口<-),只是方便你看懂
for(i=0;i<n;i++)
{
cin>>a[i];
}
int max=a[0];
int count=1;
for(i=1;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
count++;
}
}
printf("%d",count);
return 0;
}