#include <cstdio>
#include <map>
using namespace std;
typedef map<int,int> MII;
int main()
{
int N;
scanf("%d", &N);
MII mii;
for (int i = 0; i < N; ++i)
{
int v;
scanf("%d", &v);
++mii[v];
}
int last = -1;
MII::iterator it = mii.begin();
while (it != mii.end())
{
last = it->first;
int add = it->second / 2;
if (add)
mii[it->first + 1] += add;
++it;
}
printf("%d\n", last);
}
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 | #include <cstdio> #include <map> using namespace std; typedef map<int,int> MII; int main() { int N; scanf("%d", &N); MII mii; for (int i = 0; i < N; ++i) { int v; scanf("%d", &v); ++mii[v]; } int last = -1; MII::iterator it = mii.begin(); while (it != mii.end()) { last = it->first; int add = it->second / 2; if (add) mii[it->first + 1] += add; ++it; } printf("%d\n", last); } |
English