T5
2025-01-19 22:19:19
发布于:北京
5阅读
0回复
0点赞
T5
题目名称:看海
时间限制:.
空间限制:
题意分析
这道题输入客栈个数和每座客栈高度,求多少个客栈能看见海
关键思路
我们知道如果这个元素前面,既1-(i-1)这个区间不能有比它高的山,否则这座客栈就看不到海了,所以可以使用最朴素的暴力枚举即可,遍历前面每一座山,比较高度,这道题还好,没有极端的数据,本蒟蒻之前看到数据量达到2e5觉得可能TLE就用O(n)解法然后全WA了
#include <bits/stdc++.h>
using namespace std;
int main(){
int a1[300000] = {};//山的高度
int n;
cin >> n;
for (int i = 1;i <= n;i ++){
cin >> a1[i];//输入
}
int ans = n;//假设所有山都能看到海
for (int i = 2;i <= n;i ++){
for (int j = i - 1;j >= 1;j --){//枚举
if(a1[j] > a1[i]){//如果有山比这座山高
ans --;//排除一种可能
break;
}
}
}
cout << ans;//输出
return 0;
}
这里空空如也
有帮助,赞一个