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