fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4. #define int ll
  5. #define all int i=0; i<n; i++
  6. #define pb push_back
  7. #define pf push_front
  8. #define maxheap priority_queue<int>
  9. #define minheap priority_queue<int,vector<int>,greater<int> >
  10. #define lb lower_bound
  11. #define ub upper_bound
  12. #define bs binary_search
  13. #define FAST_IO ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
  14. #define endl '\n'
  15. #define mod 1000000007
  16. #define INF 0x3f3f3f3f3f
  17. #define mp make_pair
  18. #define pii pair<int,int>
  19. #define T int t;cin>>t;while(t--)
  20. #define I
  21. #define rep(i,k,n) for(int i=k; i<n; i++)
  22. #define think
  23. #define we
  24. #define should
  25.  
  26. bool sortinrev(const pair<ll,ll> &a,
  27. const pair<ll,ll> &b)
  28. {
  29. return (a.first > b.first);
  30. }
  31. int32_t main()
  32. {
  33. T{
  34. int n,ans=0;
  35. cin>>n;
  36. int arr[n];
  37. map<int,int>m;
  38. for(int i=0; i<n; i++){
  39. cin>>arr[i];
  40. m[arr[i]]=1;
  41. }
  42. for(int i=0; i<n; i++){
  43. if(m[arr[i]-1]==0 && m[arr[i]+1]==0){
  44. ans++;
  45. if(m[arr[i] + 2]==1){
  46. m[arr[i] + 1] = 1;
  47. }
  48. else{
  49. m[arr[i] - 1] = 1;
  50. }
  51. }
  52. }
  53. cout<<ans<<endl;
  54. }
  55. }
  56.  
Success #stdin #stdout 0s 4380KB
stdin
1
5 
1 2 5 8 11
stdout
3