fork download
  1. #include <stdio.h>
  2. #include <ctype.h>
  3.  
  4. int main(void) {
  5. //scan data
  6. int n;
  7. scanf("%d",&n);
  8. char word[100000][2]={'\0'};
  9. int length[100000]={0};
  10. char temp;
  11. int i;
  12. for(i=0;i<100000;i++){
  13. if(scanf(" %c",&temp)==EOF)
  14. break;
  15. if(i==0){
  16. length[0]=1;
  17. if(isupper(temp))
  18. word[0][1]=temp;
  19. else
  20. word[0][0]=temp;
  21. continue;
  22. }
  23. if(isupper(temp)){ //isupper:[][][1]
  24. word[i][1]=temp;
  25. if(word[i-1][1]!='\0') //前一個也isupper
  26. length[i]=length[i-1]+1;
  27. else
  28. length[i]=1;
  29. }
  30. else{
  31. word[i][0]=temp;
  32. if(word[i-1][0]!='\0') //前一個也不是isupper
  33. length[i]=length[i-1]+1;
  34. else
  35. length[i]=1;
  36. }
  37. }
  38.  
  39. //process data
  40. int result=0,longest=0;
  41. int found=0;
  42. int j;
  43.  
  44. for(j=0;j<100000;j++){
  45. if(length[j]>=n){
  46. result=n;
  47. found=1;
  48. while(length[j+n]==n){
  49. result+=n;
  50. j+=n;
  51. }
  52. }
  53. if(result>longest)
  54. longest=result;
  55. }
  56.  
  57. if(found==1)
  58. printf("%d",longest);
  59. else
  60. printf("0");
  61. return 0;
  62. }
  63.  
Success #stdin #stdout 0s 5312KB
stdin
3
AAAAAaaaAAAAAAA
stdout
9