# 官方题解|欢乐赛#39 T5
2025-01-22 17:14:10
发布于:浙江
14阅读
0回复
0点赞
T5
本题先要预处理出前缀最大值,可以先开一个数组 , 表示 ~ 里面的最大值。最后只要看当前山的高度是否比前面的最高的山的高度高即可,如果满足题目要求那么这座山上就能看到海。
#include <bits/stdc++.h>
using namespace std;
const int N = 200010;
int a[N], n, m, k;
int maxn[N];
int main(){
cin >> n;
for(int i = 1; i <= n; i ++ ){
cin >> a[i];
if(i == 1) maxn[i] = a[i];
else{
maxn[i] = max(maxn[i - 1], a[i]);
}
}
int ans = 1;
for(int i = 2; i <= n; i ++ ){
if(a[i] >= maxn[i]) ans ++;
}
cout << ans << endl;
return 0;
}
这里空空如也
有帮助,赞一个