Pagini recente » Cod sursa (job #3292366) | Cod sursa (job #3308888) | Cod sursa (job #1204731) | Diferente pentru problema/reguli intre reviziile 3 si 11 | Cod sursa (job #3278361)
#include <fstream>
using namespace std;ifstream fin("prefix.in");ofstream fout("prefix.out");const int NMAX=1e6+5;int n,pi[NMAX],ans;string s;int main(){int t;fin>>t;while(t--){ans=0;fin>>s;n=s.size();int j=0;for(int i=1;i<n;i++){while(j>0&&s[i]!=s[j])j=pi[j-1];if (s[i]==s[j])j++;pi[i]=j;if (j&&(i+1)%(i+1-j)==0)ans=i+1;}fout<<ans<<'\n';}return 0;}