#include <iostream>
#include <cstdio>
using namespace std;
int n,a,t[203000],maxn,wynik;
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a);
t[a]++;
if(a>maxn) maxn=a;
}
for(int i=1;i<maxn+21;i++){
t[i]+=t[i-1]/2;
if(t[i]>0) wynik=i;
}
printf("%d",wynik);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <iostream> #include <cstdio> using namespace std; int n,a,t[203000],maxn,wynik; int main(){ scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a); t[a]++; if(a>maxn) maxn=a; } for(int i=1;i<maxn+21;i++){ t[i]+=t[i-1]/2; if(t[i]>0) wynik=i; } printf("%d",wynik); } |
English