Pagini recente » Cod sursa (job #1636068) | Cod sursa (job #1755964) | Cod sursa (job #2201713) | Cod sursa (job #1107725) | Cod sursa (job #2221071)
#include <bits/stdc++.h>
using namespace std;
ifstream in("prefix.in");
ofstream out("prefix.out");
string s;
int main() {
ios::sync_with_stdio(false);
int tests;
in >> tests;
while(tests --) {
s.clear();
int sol = 0;
in >> s;
s = " " + s;
vector<int> pi(s.size(), 0);
int k = 0;
for(int i = 2; i < s.size(); i ++) {
while(k > 0 && s[k + 1] != s[i])
k = pi[k];
if(s[k + 1] == s[i])
k ++;
pi[i] = k;
if(i % (i - pi[i]) == 0 && pi[i])
sol = i;
}
out << sol << "\n";
}
return 0;
}