#include<iostream>
#include<vector>
using namespace std;
constexpr int SIZE=300*1000;
int main()
{
vector<int> results;
results.resize(SIZE);
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
results[a]++;
}
int last=0;
for(int i=0;i<SIZE-1;i++)
{
if(results[i]>0)
{
last=i;
}
results[i+1]+=results[i]/2;
}
cout<<last<<endl;
}
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 | #include<iostream> #include<vector> using namespace std; constexpr int SIZE=300*1000; int main() { vector<int> results; results.resize(SIZE); int n; cin>>n; for(int i=0;i<n;i++) { int a; cin>>a; results[a]++; } int last=0; for(int i=0;i<SIZE-1;i++) { if(results[i]>0) { last=i; } results[i+1]+=results[i]/2; } cout<<last<<endl; } |
English