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