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