#include<bits/stdc++.h>
using namespace std;
int a[1000];
int main(){
stack<int>s;
int n;
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
a[n-i+1]=x;
}
for(int i=1;i<=n;i++){
while(s.size()>0&&s.top()==a[i]){
a[i]=s.top()+1;
s.pop();
}
s.push(a[i]);
}
int mx=0;
while(s.size()){
mx=max(mx,s.top());
s.pop();
}
printf("%d",mx);
return 0;
}
100pts
贪心
2 1 1 1
应输出3,实际2