fork(1) download
  1. /*
  2. Author : r20rock
  3. Algo:
  4. Note:
  5. */
  6. #include<iostream>
  7. #include <sstream>
  8. #include<cstdio>
  9. #include<cstring>
  10. #include<algorithm>
  11. #include<vector>
  12. #include<stack>
  13. #include<map>
  14. #include<list>
  15. #include<cmath>
  16. #include<cstdlib>
  17. #include<climits>
  18. #include<iomanip>
  19.  
  20. using namespace std;
  21.  
  22. #define PI 3.1428571
  23. #define UL unsigned long int
  24. #define ULL unsigned long long int
  25.  
  26. #define GETI(k) scanf("%d",&k)
  27. #define GETUL(k) scanf("%lu",&k)
  28. #define GETULL(k) scanf("%llu",&k)
  29. #define GETF(k) scanf("%f",&k)
  30. #define GETC(k) scanf("%c",&k)
  31. #define GETCP(k) scanf("%s",&k) //char pointer
  32. #define GETS(k) scanf("%s",k) //string
  33.  
  34. #define PUTI(k) printf("%d",k)
  35. #define PUTUL(k) printf("%lu",k)
  36. #define PUTULL(k) printf("%llu",k)
  37. #define PUTF(k) printf("%f",k)
  38. #define PUTC(k) printf("%c",k)
  39. #define PUTS(k) printf("%s",k)
  40. #define PUTK(k) printf(k) //hard coded string
  41. #define NL printf("\n")
  42. #define INF 1000000007
  43. #define MOD 1000000007
  44. int main()
  45. {
  46. int tc;
  47. GETI(tc);
  48. while(tc--)
  49. {
  50. char s[10010];
  51. GETS(s);
  52. vector <int> v;
  53. int a[26]= {0},ans=0;
  54. for(int i=0; i<strlen(s); i++)
  55. {
  56. if(s[i]=='#')
  57. {
  58. v.push_back(*max_element(a,a+26));
  59. memset(a,0,26*4);
  60. }
  61. else
  62. a[s[i]-'a']++;
  63. }
  64. v.push_back(*max_element(a,a+26));
  65. if(v.size()>=4)
  66. for(int i=0; i<v.size()-3; i++)
  67. if(v[i]!=0 && v[i+1]!=0 && v[i+2]!=0 && v[i+3]!=0)
  68. if((v[i]+v[i+1]+v[i+2]+v[i+3])>ans)
  69. ans=v[i]+v[i+1]+v[i+2]+v[i+3];
  70.  
  71. ans = (ans!=0)?(ans+3):0;
  72. PUTI(ans);
  73. NL;
  74. }
  75. return 0;
  76. }
  77.  
Success #stdin #stdout 0s 3032KB
stdin
7
asa#hbh
a#ddd#gggg
ssss#bb#dd#ddd
aaaaa#bb#cc#dddd
acb#aab#bab#accba
abc#zzza#z#zz#aca 
aa#bb##cc#dd
stdout
0
0
14
16
10
11
0