fork(6) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define _ ios::sync_with_stdio(false);
  5. #define mem(x,a) memset(x,(a),(int)(sizeof(x)))
  6. #define pii pair<int,int>
  7. #define fr(i,a,n) for(int i=(a);i<=(n);i++)
  8. #define frd(i,a,n) for(int i=(a);i>=(n);i--)
  9. #define bitcount __builtin_popcount
  10. #define ison(a,b) (a&(1<<b))
  11. #define s(n) scanf("%d",&(n))
  12. #define sl(n) scanf("%lld",&(n))
  13. #define nl cout<<endl
  14. #define pb push_back
  15. #define mp make_pair
  16. #define F first
  17. #define S second
  18. #define V vector
  19. ll mod=1e9+7;
  20. int a[1000005],temp[1000005];
  21. int main() {
  22. int n;
  23. cin>>n;
  24. fr(i,1,n)cin>>a[i];
  25. fr(i,1,n)temp[a[i]]++;
  26. int next=0;
  27. fr(i,0,1000000)
  28. {
  29. temp[i+1]+= temp[i]/2;
  30. temp[i]%=2;
  31. }
  32. int ans=0;
  33. fr(i,0,1000000)ans+=temp[i];
  34. cout<<ans<<endl;
  35. return 0;
  36. }
Success #stdin #stdout 0s 11288KB
stdin
6
1 0 2 0 0 2
stdout
3