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