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