#include<iostream> #include<cstdio> using namespace std; int a,b,naj,wyn; int tab[((int)(1e6))+1]; int main(){ cin>>a; for(int i=0;i<a;i++){ cin>>b; tab[b]++; if(b > naj){ naj = b; } } for(int i=0;i<=naj;i++){ if(tab[i] != 0){ tab[i+1] += tab[i]/2; if(i == naj) naj++; } } cout<<naj-1; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include<iostream> #include<cstdio> using namespace std; int a,b,naj,wyn; int tab[((int)(1e6))+1]; int main(){ cin>>a; for(int i=0;i<a;i++){ cin>>b; tab[b]++; if(b > naj){ naj = b; } } for(int i=0;i<=naj;i++){ if(tab[i] != 0){ tab[i+1] += tab[i]/2; if(i == naj) naj++; } } cout<<naj-1; return 0; } |