fork download
  1. import java.util.*;
  2. class code3{
  3. public static void main(String args[]){
  4. Scanner rea=new Scanner(System.in);
  5. int t=rea.nextInt();
  6. int[] te=new int[t];
  7. for(int ro=0;ro<t;ro++){
  8.  
  9. //Scanner s=new Scanner(System.in);
  10.  
  11. String str=rea.nextLine();
  12.  
  13. int[] a=new int[str.length()];
  14. for(int i=0;i<a.length;i++){
  15. if(str.charAt(i) == '<'){
  16. a[i]=1;
  17. }else{
  18. a[i]=-1;
  19. }
  20. }
  21. int max=1;
  22. int start=0,end=0,sum,st=0,en=0;
  23. for(int i=0;i<a.length -1;i++){
  24. start=i;
  25. sum=0;
  26. for(int j=i;j<a.length;j++){
  27. sum=sum +a[j];
  28. if(sum==0){
  29. end=j;
  30.  
  31. }else if(sum<0){
  32. j=a.length;
  33. }
  34. }
  35.  
  36.  
  37. if((end-start)+1 > max ){
  38. max=end-start;
  39. st=start;
  40. en=end;
  41. i=end;
  42. }
  43. // System.out.println("looping "+i+" level -- start " + start + " end "+end +" max "+max);
  44. int set;
  45. for(set=i+1;set<a.length;set++){
  46. if(a[set]==1){
  47. i=set-1;
  48. set=a.length*2;
  49. }
  50. }if(set==a.length){
  51. i=a.length;
  52. }
  53. if(end==a.length-1){
  54. i=a.length;
  55. }
  56. }
  57.  
  58. if(en == st){
  59.  
  60. te[ro]=0;
  61. }else{
  62. //System.out.println("start" + st + " end "+en);
  63. te[ro]= en-st+1;
  64. }
  65.  
  66. }
  67.  
  68. for(int result:te){
  69. System.out.println(result);
  70. }
  71. }
  72. }
  73.  
  74.  
Success #stdin #stdout 0.1s 380672KB
stdin
3
<<>>
><
<>>>
stdout
0
4
0