提交时间:2024-04-01 13:44:56

运行 ID: 140926

#include<bits/stdc++.h> using namespace std; int x=1; int a[100001][4]; int put(){ int s=a[1][1]; for(int i=1;i<=x;i++){ if(a[i][1]<=s){ s=a[i][1]; a[i][1]=0; } } int cnt=1; for(int i=1;i<=x;i++){ if(a[i]!=0){ a[cnt][1]=a[i][1]; } cnt++; } x=cnt-1; } int main(){ while(cin>>a[x][1]) x++; x--; a[x][2]=1; a[x][3]=0; for(int i=x-1;i>=1;i--){ int maxn=0,max1=0; for(int j=i;j<=x;j++){ if(a[j][1]<=a[i][1]&&a[max1][2]<a[j][2]){ max1=j; maxn=a[j][2]; } } a[i][2]=maxn+1; a[i][3]=max1; } int max2=0; for(int i=1;i<=x;i++) max2=max(max2,a[i][2]); int sum=1; while(x!=0){ put(); sum++; } cout<<max2<<" "<<sum; }