这里还没人只有20分吧
查看原帖
这里还没人只有20分吧
524686
optimize_1楼主2022/4/24 16:46
#include<iostream>
using namespace std;
int h[10016];
int main(){
	int n,peak=-1,ctpk=0,ans=0;bool inlow=0;cin>>n;
	for(int i=0;i<n;i++){
		cin>>h[i];
		if(h[i]>peak)peak=h[i],ctpk=0;
		if(h[i]==peak)ctpk++;
	}
	int xmax=h[0];
	for(int i=1;h[i]<peak;i++)
		if(h[i]>xmax&&h[i]>h[i+1])
			xmax=h[i],ans++;
	int ymax=h[n-1];
	for(int i=n-2;h[i]<peak;i--)
		if(h[i]>ymax&&h[i]>h[i-1])
			ymax=h[i],ans++;
	cout<<ans+ctpk;
}

这是判断那个山顶在哪里,然后看有山的左坡和右坡分别有多少个低WA地、右边有多少个。。。。

2022/4/24 16:46
加载中...