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