#include<iostream>
using namespace std;
int kappa[201719];
main(){
int n;
cin>>n;
int max=0;
for(int i=0;i<n;i++){
int x;
cin>>x;
kappa[x]++;
if(x>max)max=x;
}
for(int i=0;i<=201718;i++){
if(kappa[i]>1){
kappa[i+1]=kappa[i+1]+(kappa[i]/2);
kappa[i]=kappa[i]-(kappa[i]/2)*2;
}
}
int odp=0;
for(int i=0;i<=201718;i++){
if(kappa[i]!=0)odp=i;
}
cout<<odp;
}
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 | #include<iostream> using namespace std; int kappa[201719]; main(){ int n; cin>>n; int max=0; for(int i=0;i<n;i++){ int x; cin>>x; kappa[x]++; if(x>max)max=x; } for(int i=0;i<=201718;i++){ if(kappa[i]>1){ kappa[i+1]=kappa[i+1]+(kappa[i]/2); kappa[i]=kappa[i]-(kappa[i]/2)*2; } } int odp=0; for(int i=0;i<=201718;i++){ if(kappa[i]!=0)odp=i; } cout<<odp; } |
English