Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int Array[1000000];
  5.  
  6. int searching(int A[], int);
  7.  
  8. int main()
  9. {
  10. ios_base::sync_with_stdio(0);
  11. cout.tie(0);
  12. cin.tie(0);
  13.  
  14. int n;
  15. char sign;
  16.  
  17. cin >> n;
  18.  
  19. for(int i=0; i<n; ++i){
  20. cin >> sign;
  21.  
  22. if(sign == 'p') Array[i] = 1;
  23. else Array[i] = -1;
  24. }
  25.  
  26. int substring = searching(Array, n);
  27. cout << substring;
  28. }
  29.  
  30. ///////////////////////////////////////////////////
  31.  
  32. int searching(int A[], int m)
  33. {
  34. int tmp, sufiks, maxx = 0;
  35.  
  36. for(int i=0; i<m; ++i){
  37.  
  38. if(maxx >= m-i){
  39. return maxx;
  40. }
  41.  
  42. if(A[i] == 1){
  43.  
  44. tmp = 1;
  45.  
  46. for(int j=i+1; j<m; ++i){
  47. if(A[j] == 1){
  48. ++tmp;
  49. sufiks = 0;
  50.  
  51. for(int k=j; k>=i; --k){
  52. if(A[k] == 1) ++sufiks;
  53. else{
  54. if(sufiks > 0){
  55. --sufiks;
  56. }
  57.  
  58. else break;
  59. }
  60. }
  61. }
  62. else{
  63. if(tmp > 0){
  64. --tmp;
  65. }
  66. else break;
  67. }
  68.  
  69. if(sufiks >= 0) maxx = max(maxx, j-i+1);
  70. }
  71. }
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement