#include <bits/stdc++.h>
using namespace std;
#define ff first
#define dd second
#define mp make_pair
#define pb push_back
#define sz size()
#define lld long long
#define scanf(...) scanf(__VA_ARGS__)?:0
#define For(i,s,a) for(lld i=(lld)s;i<(lld)a;++i)
int c[1000001];
int main()
{
int a,b;
scanf("%d", &a);
For(i,0,a)scanf("%d", &b),++c[b];
b=0;
For(i,0,1000000){
b=(c[i])?i:b;
c[i+1]+=c[i]>>1;}
printf("%d",b);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <bits/stdc++.h> using namespace std; #define ff first #define dd second #define mp make_pair #define pb push_back #define sz size() #define lld long long #define scanf(...) scanf(__VA_ARGS__)?:0 #define For(i,s,a) for(lld i=(lld)s;i<(lld)a;++i) int c[1000001]; int main() { int a,b; scanf("%d", &a); For(i,0,a)scanf("%d", &b),++c[b]; b=0; For(i,0,1000000){ b=(c[i])?i:b; c[i+1]+=c[i]>>1;} printf("%d",b); } |
English