fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define int long long
  5.  
  6. #define for1(i,m,n) for(int i=m;i<=n;i++)
  7. #define for0(i,m,n) for(int i=m;i<n;i++)
  8. #define vll(v) v.begin(),v.end()
  9. #define ii pair<int,int>
  10. #define se second
  11. #define fi first
  12. #define el '\n'
  13.  
  14. const int N=1e7;
  15. const int MOD=1e9+7;
  16. struct ju{
  17. int giatri,l,r;
  18. };
  19. vector<ju>d;
  20. signed main(){
  21. ios_base::sync_with_stdio(0);
  22. cin.tie(0);
  23. cout.tie(0);
  24.  
  25. int m,n;cin>>m>>n;
  26. vector<int>v(n);
  27. for(auto &x:v) cin>>x;
  28. sort(vll(v));
  29. int st=v[1],dem=1;
  30. for0(i,1,n){
  31. if(v[i+1]-1!=v[i]){
  32. d.push_back({dem,st,v[i]});
  33. st=v[i+1];
  34. dem=1;
  35. }
  36. else
  37. dem++;
  38. }
  39. int ans=0,ans_=0;
  40. bool ok=0;
  41. for0(i,0,d.size()-1){
  42. if(d[i].r==d[i+1].l-2) {
  43.  
  44. ok=1;
  45. ans=max(ans,d[i].giatri+d[i+1].giatri+1);
  46. }
  47. if(d[i].r!=d[i].l-1){
  48. ans_=max(ans_,d[i].giatri);
  49. }
  50. // ans_++;
  51. }
  52. if(ok)
  53. cout<<ans;
  54. else cout<<ans_+1;
  55. return 0;
  56. }
  57. /*
  58. 8 5
  59. 8 2 0 5 7
  60. */
  61.  
Success #stdin #stdout 0s 5296KB
stdin
Standard input is empty
stdout
1