Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
using namespace std; #define ld long double #define F first #define S second #define Lnode 2*node+1 #define Rnode 2*node+2 #define MID (l+r>>1) #define el '\n' #define coutf(x) for(auto v:(x)) cout<
>v; #define all(x) x.begin(),x.end() #define ll long long #define sz(x) (int)x.size() #define pi pair
#define pii pair
> #define vi vector
using ull = unsigned long long; vector
lcp (const string& s) { int n=s.size(); vector
phi(n,0); for (int i=1,k=0;i
0&&s[i]!=s[k])k=phi[k-1]; if (s[i]==s[k])k++; phi[i]=k; } return phi; } pi mancher(const string&s) { int c=0,r=0; string t="#"; for (auto it:s)t+=it,t+="#"; // for (auto it:t)cout<
p(n,0); for (int i=0;i
=0&&right
r)r=i+p[i],c=i; } int mxlen=0,mx=0; for (int i=1;i
mx) { if ((i-p[i])/2<=0||((i-p[i])/2)+p[i]>=s.size()) { mx=p[i]; mxlen=i; } } } int start=(mxlen-mx)/2; return {start,mx}; } void solve() { string s; cin>>s; string rev1=s; string ss=s; string rev=s; reverse(all(rev)); rev+="#"+s; reverse(all(rev1)); s+="#"+rev1; auto pref=lcp(rev); int ps=0; for (int i=rev.size()/2+1;i
prefix.size()){ if (ans.size()>suffix.size())cout<
suffix.size())cout<
>tc; for (int i=1;i<=tc;i++){solve();} return 0; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)