#include <ctime>
#include <climits>
#include <cstdlib>
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <vector>
#include <map>
#include <stack>
#include <utility>
#include <queue>
#include <list>
#include <iomanip>
#include <set>
#define PI 3.14159265
#define INF LLONG_MAX
#define MAX_LENGTH 202001
using namespace std;
int n;
vector<int> a;
void read_input()
{
int ai;
a.resize(MAX_LENGTH);
for (int i = 0; i < MAX_LENGTH; ++i)
a[i] = 0;
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> ai;
a[ai]++;
}
}
void solve()
{
for (int i = 0; i < MAX_LENGTH-1; ++i)
{
a[i+1] += a[i] / 2;
a[i] = a[i] % 2;
}
}
void print_output()
{
int last = 0;
for (int i = 0; i < MAX_LENGTH; ++i)
if (a[i] != 0) last = i;
std::cout << last << std::endl;
}
int main(int argc, const char *argv[])
{
ios::sync_with_stdio(false);
cin.tie(NULL);
read_input();
solve();
print_output();
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #include <ctime> #include <climits> #include <cstdlib> #include <iostream> #include <string> #include <algorithm> #include <cmath> #include <cstdio> #include <cstring> #include <vector> #include <map> #include <stack> #include <utility> #include <queue> #include <list> #include <iomanip> #include <set> #define PI 3.14159265 #define INF LLONG_MAX #define MAX_LENGTH 202001 using namespace std; int n; vector<int> a; void read_input() { int ai; a.resize(MAX_LENGTH); for (int i = 0; i < MAX_LENGTH; ++i) a[i] = 0; cin >> n; for (int i = 0; i < n; ++i) { cin >> ai; a[ai]++; } } void solve() { for (int i = 0; i < MAX_LENGTH-1; ++i) { a[i+1] += a[i] / 2; a[i] = a[i] % 2; } } void print_output() { int last = 0; for (int i = 0; i < MAX_LENGTH; ++i) if (a[i] != 0) last = i; std::cout << last << std::endl; } int main(int argc, const char *argv[]) { ios::sync_with_stdio(false); cin.tie(NULL); read_input(); solve(); print_output(); return 0; } |
English