Alex_tz307

Subsecventa Comuna de Lungime Maxima - Vector

Sep 12th, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.73 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define LMAX 1024
  3.  
  4. using namespace std;
  5.  
  6. ifstream fin ("sclm.in");
  7. ofstream fout ("sclm.out");
  8.  
  9. char a[LMAX + 1], b[LMAX + 1];
  10. int mx[LMAX + 1];
  11.  
  12. int main() {
  13.   int m, n, l, c, mmx, lmx, cmx;
  14.   fin >> m >> n;
  15.   fin.get();
  16.   for ( l = 1; l <= m; l++ )
  17.     a[l] = fin.get();
  18.   fin.get();
  19.   for ( c = 1; c <= n; c++ )
  20.     b[c] = fin.get();
  21.   mmx = cmx = lmx = 0;
  22.   for ( l = 1; l <= m; l++ )
  23.     for ( c = n; c > 0; c-- )
  24.       if ( a[l] == b[c] ) {
  25.         mx[c] = mx[c - 1] + 1;
  26.         if ( mx[c] > mmx ) {
  27.           mmx = mx[c];
  28.           lmx = l;
  29.           cmx = c;
  30.         }
  31.       }
  32.       else
  33.           mx[c] = 0;
  34.   fout << mmx << ' ' << lmx - mmx + 1 << ' ' << cmx - mmx + 1 << '\n';
  35. }
  36.  
Advertisement
Add Comment
Please, Sign In to add comment