n = int(input())
arr = list(map(int, input().split()))
arr.sort(reverse=True)
count = 0
last = 10**10
for i in range(n):
cur = arr[i]
if cur + 1 < last:
last = cur + 1
count += 1
elif cur < last:
last = cur
count += 1
elif cur - 1 != 0 and cur - 1 < last:
last = cur - 1
count += 1
print(count)
// Online C++ compiler to run C++ program online
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
vector<int> v(n);
for(int i=0;i<n;i++){
cin>>v[i];
}
sort(v.begin(),v.end());
unordered_set<int> s;
for(int i=0;i<n;i++){
int a=v[i];
if(a==1){
if(s.count(a)==0)
s.insert(a);
else s.insert(a+1);
}else{
if(s.count(a-1)==0){
s.insert(a-1);
}else if(s.count(a)==0){
s.insert(a);
}else{
s.insert(a+1);
}
}
}
// for(auto &a:s){
// cout<<a<<" ";
// }
// cout<<endl;
cout<<(int)s.size()<<endl;
return 0;
}
1520A - Do Not Be Distracted | 352A - Jeff and Digits |
1327A - Sum of Odd Integers | 1276A - As Simple as One and Two |
812C - Sagheer and Nubian Market | 272A - Dima and Friends |
1352C - K-th Not Divisible by n | 545C - Woodcutters |
1528B - Kavi on Pairing Duty | 339B - Xenia and Ringroad |
189A - Cut Ribbon | 1182A - Filling Shapes |
82A - Double Cola | 45A - Codecraft III |
1242A - Tile Painting | 1663E - Are You Safe |
1663D - Is it rated - 3 | 1311A - Add Odd or Subtract Even |
977F - Consecutive Subsequence | 939A - Love Triangle |
755A - PolandBall and Hypothesis | 760B - Frodo and pillows |
1006A - Adjacent Replacements | 1195C - Basketball Exercise |
1206A - Choose Two Numbers | 1438B - Valerii Against Everyone |
822A - I'm bored with life | 9A - Die Roll |
1430B - Barrels | 279B - Books |