1 条题解
-
0
#include <bits/stdc++.h> using namespace std; typedef long long ll; map<ll,int>vis; int n,x; int main() { freopen("ivan.in","r",stdin); freopen("ivan.out","w",stdout); scanf("%d",&n); int cnt=0,maxn=0; while(n--) { scanf("%d",&x); vis[x]++; if(vis[x]==2) { ll i=x; while(vis[i]==2)//进位 { vis[i]-=2; vis[i+1]++; i++; } } } map<ll,int>::iterator it; for(it=vis.begin();it!=vis.end();it++) { if(it->second!=0) { cnt++;//记录1的个数 if(it->first>maxn)//记录最高位 maxn=it->first; } } printf("%d",maxn+1-cnt); return 0; }
信息
- ID
- 1974
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 80
- 已通过
- 6
- 上传者