#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false), cin.tie(0);
int n, a, siz=400000;
cin >> n;
int C[siz];
for(int i=0; i<siz; i++)
C[i]=0;
for(int i=0; i<n; i++){
cin >> a;
C[a]++;
}
for(int i=0; i<siz-1; i++)
if(C[i]>=2){
C[i+1]+=(C[i]/2);
C[i]%=2;
}
for(int i=siz-1; i>=0; i--)
if(C[i]>0){
cout << i <<endl;
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 <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(false), cin.tie(0); int n, a, siz=400000; cin >> n; int C[siz]; for(int i=0; i<siz; i++) C[i]=0; for(int i=0; i<n; i++){ cin >> a; C[a]++; } for(int i=0; i<siz-1; i++) if(C[i]>=2){ C[i+1]+=(C[i]/2); C[i]%=2; } for(int i=siz-1; i>=0; i--) if(C[i]>0){ cout << i <<endl; return 0; } } |
English