#include<iostream>
using namespace std;
int tab[201719];
int main(){
int n, rek = 0;
cin>>n;
for (int i = 0; i<n; i++){
int a;
cin>>a;
tab[a]++;
if (rek < a) rek=a;
}
for (int i = 0; i<=rek; i++){
tab[i+1]+=tab[i]/2;
if(tab[rek+1]!=0) rek++;
}
cout<<rek;
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include<iostream> using namespace std; int tab[201719]; int main(){ int n, rek = 0; cin>>n; for (int i = 0; i<n; i++){ int a; cin>>a; tab[a]++; if (rek < a) rek=a; } for (int i = 0; i<=rek; i++){ tab[i+1]+=tab[i]/2; if(tab[rek+1]!=0) rek++; } cout<<rek; return 0; } |
English