제출 #716877

#제출 시각아이디문제언어결과실행 시간메모리
716877vjudge1회문 (APIO14_palindrome)C++17
23 / 100
1078 ms39372 KiB
#include <bits/stdc++.h> #define f first #define s second #define ent '\n' #define int long long #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #pragma GCC optimize("Ofast,unroll-loops,fast-math,O3") //typedef long double ld; typedef long long ll; using namespace std; struct node{double x,y;}; //double len(node a,node b) //{return sqrt((a.x-b.x)*(a.x-b.y)+(a.y-b.y)*(a.x-b.y));} struct seg{ int mx1=0,mx2=0,ans=0; }; const string out[2]={"NO\n","YES\n"}; const ll dx[]={0,0,1,-1,-1,1,1,-1}; const ll dy[]={1,-1,0,0,-1,1,-1,1}; const int md=998244353; const int mod=1e9+9; const int mx=1e6+12; const int tst=1e5; const bool T=0; int h[2012][2012]; int q[mx]; int n,m,k; void Press_Fn_with_F11(){ string s; cin>>s; n=s.size(); s='+'+s; map<int,int> cnt; for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++)h[i][j]=(h[i][j-1]*43+s[j]-'a'+1)%mod,cnt[h[i][j]]++; } int ans=0; for(int i=1;i<=n;i++){ for(int l=i,r=i;l && r<=n && s[l]==s[r];l--,r++)ans=max(ans,cnt[h[l][r]]*(r-l+1)); if(i>1){ for(int l=i-1,r=i;l && r<=n && s[l]==s[r];l--,r++)ans=max(ans,cnt[h[l][r]]*(r-l+1)); } } cout<<ans<<ent; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); srand(time(0)); int Ersayin_abi_crush=1; if(T)cin>>Ersayin_abi_crush; for(int i=1;i<=Ersayin_abi_crush;i++){ // cout<<"Case "<<i<<": "; Press_Fn_with_F11(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...