#include<iostream> using namespace std; int main(){ int tab[201818]; for (int i=0 ; i<201818 ; i++) tab[i] = 0; int n, tmp; cin>>n; for (int i=0 ; i<n ; i++){ cin>>tmp; tab[tmp]++; } for (int i=0 ; i<201817 ; i++){ tmp = tab[i]; tab[i] = tmp % 2; tab[i+1] += tmp/2; } for (int i=201817 ; i>=0 ; i--){ if (tab[i]==1){ cout<<i; return 0; } } 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 26 27 28 29 | #include<iostream> using namespace std; int main(){ int tab[201818]; for (int i=0 ; i<201818 ; i++) tab[i] = 0; int n, tmp; cin>>n; for (int i=0 ; i<n ; i++){ cin>>tmp; tab[tmp]++; } for (int i=0 ; i<201817 ; i++){ tmp = tab[i]; tab[i] = tmp % 2; tab[i+1] += tmp/2; } for (int i=201817 ; i>=0 ; i--){ if (tab[i]==1){ cout<<i; return 0; } } return 0; } |