20分求调 @我
查看原帖
20分求调 @我
743806
ammdyc楼主2023/9/1 18:58
#include<bits/stdc++.h>
using namespace std;
struct dd{
	int height;
	int bh;
}a[500010];
bool cmp(dd a,dd b){
	return a.height>b.height;
}
int n,t,ans,d,maxx,h; 
int main(){
	while(scanf("%d",&n)!=EOF){
		++t;
		a[t].height=n;
		a[t].bh=t;
		
	}

	sort(a+1,a+t+1,cmp);
	for(int i=1;i<=t;i++){
		if(a[i].bh!=-1){
			d=a[i].bh;
			a[i].bh=-1;
			ans++;
			for(int j=i+1;j<=t;j++){
				if(a[j].bh!=-1){
					if(a[j].bh>d){
						d=a[j].bh;
						a[j].bh=-1;
						h++;
					}
				}
			}
			maxx=max(maxx,h);
		}
	}
	cout<<maxx<<endl<<ans;
    return 0;
}
2023/9/1 18:58
加载中...