Pagini recente » Cod sursa (job #1576155) | Monitorul de evaluare | Cod sursa (job #3314251) | Cod sursa (job #2357991) | Cod sursa (job #3332919)
//https://www.infoarena.ro/problema/prefix
//#pragma GCC optimize("O3")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("fast-math")
//#pragma GCC optimize("unroll-loops")
//#pragma GCC optimize("inline")
//#define _USE_MATH_DEFINES
//#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
//#include <vector>
#include <cstring>
//#include <cmath>
//#include <bitset>
//#include <queue>
//#include <stack>
//#include <utility>
//#include <algorithm>
//#include <string>
//#include <map>
//#include <unordered_map>
//#include <set>
//#include <unordered_set>
//#include <cstdint>
//#include <climits>
//#include <iomanip>
//#include <cstdio>
//#include <tuple>
using namespace std;
ifstream fin("prefix.in");
ofstream fout("prefix.out");
int main()
{
//ios_base::sync_with_stdio(false);
//cin.tie(nullptr);
//cout.tie(nullptr);
int t, i, j, rez;
string s, ss;
fin >> t;
while (t--)
{
fin >> s;
rez = 0;
ss.clear();
for (i = 0; i < s.size(); ++i)
{
int len = i + 1;
int cnt = 0;
while ((cnt + 2) * len <= s.size())
{
if (s.compare((cnt + 1) * len, len, s, 0, len) == 0)
cnt++;
else
break;
}
if(cnt)
rez = max(rez, cnt * len + len);
}
fout << rez << "\n";
}
return 0;
}