Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define MAX 100007
- using namespace std;
- int z[MAX];
- void func(string s){
- int l = 0, r = 0;
- for(int i = 1; i < s.size(); i++){
- z[i] = max(0, min(z[i-l], r-i+1));
- while(i+z[i] < s.size() && s[z[i]] == s[i+z[i]]){
- l = i; r = i+z[i]; z[i]++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement