#include <bits/stdc++.h>
using namespace std;
const int N = 3e5;
long long tab[N];
int mx = 0;
int n;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n;
int a;
for(int i = 1; i <= n; i++){
cin >> a;
tab[a]++;
}
for(int i = 1; i < N; i++){
tab[i] += tab[i - 1] / 2;
if(tab[i] > 0){
mx = max(mx, i);
}
}
cout << mx << "\n";
}
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 | #include <bits/stdc++.h> using namespace std; const int N = 3e5; long long tab[N]; int mx = 0; int n; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; int a; for(int i = 1; i <= n; i++){ cin >> a; tab[a]++; } for(int i = 1; i < N; i++){ tab[i] += tab[i - 1] / 2; if(tab[i] > 0){ mx = max(mx, i); } } cout << mx << "\n"; } |
English