fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. // your code goes here
  13. Scanner sc = new Scanner(System.in);
  14. PrintWriter out = new PrintWriter(System.out,true);
  15. int n = sc.nextInt();
  16. long[] arr = new long[n];
  17. for(int i =0;i<n;i++){
  18. arr[i] = sc.nextLong();
  19. }
  20. long[] diff = new long[n];
  21. for(int i = 1;i<n;i++){
  22. diff[i] = arr[i]-arr[i-1];
  23. //out.println(diff[i]);
  24. }
  25. int l = 0,mLen = 1;
  26. long lastseen = 0;
  27. for(int i =1;i<n;i++){
  28. if(Math.abs(diff[i]) <= 1){
  29. if(diff[i] == lastseen && diff[i]!= 0){
  30. l = i-1;
  31. lastseen = diff[i];
  32. // out.println("CASE 1");
  33. // out.println(l);
  34. }
  35. else if(diff[i] != lastseen || (diff[i] == 0)){
  36. if(i-l+1 > mLen){
  37. mLen = i-l+1;
  38. }
  39. if(diff[i]!=0){
  40. lastseen = diff[i];
  41. }
  42. // out.println("CASE 2");
  43. // out.println(diff[i]);
  44. }
  45. }
  46. else{
  47. l = i-1;
  48. }
  49. // out.println(l);
  50. }
  51. out.println(mLen);
  52. }
  53. }
Success #stdin #stdout 0.16s 321344KB
stdin
6
2 2 3 2 2 2
stdout
6