Submission #24778

#TimeUsernameProblemLanguageResultExecution timeMemory
24778Extazy회문 (APIO14_palindrome)C++14
8 / 100
1000 ms2148 KiB
/* example test starts 2 abacaba www example test ends */ #include <bits/stdc++.h> using namespace std; const int N = 1<<17; int n; char a[N]; int ans; bool is_palindrome(int l, int r) { while(l<r) if(a[l++]!=a[r--]) return false; return true; } int count_occ(int l, int r) { int ans=0,cnt,i,j; for(i=1;i+r-l<=n;i++) { cnt=0; for(j=i;j<=i+r-l;j++) if(a[j]==a[l+j-i]) ++cnt; if(cnt==r-l+1) ++ans; } return ans; } int main() { int tests,current_case; int i,j; tests=1; //scanf("%d", &tests); for(current_case=1;current_case<=tests;current_case++) { scanf("%s", a+1); n=strlen(a+1); ans=0; for(i=1;i<=n;i++) for(j=i;j<=n;j++) if(is_palindrome(i,j)) { ans=max(ans,(j-i+1)*count_occ(i,j)); } printf("%d\n", ans); } return 0; }

Compilation message (stderr)

palindrome.cpp: In function 'int main()':
palindrome.cpp:42:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s", a+1);
                         ^
#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...