#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; } |