Submission #1024535

#TimeUsernameProblemLanguageResultExecution timeMemory
1024535KasymKPalinilap (COI16_palinilap)C++17
17 / 100
1041 ms600 KiB
#include "bits/stdc++.h" using namespace std; #define pb push_back #define ll long long #define ff first #define ss second #define pii pair<int, int> #define wr puts("---------------") #define all(v) v.begin(), v.end() const int N = 3e5+5; int weight(string s){ int ans = 0, n = (int)s.size(); for(int i = 0; i < n; ++i){ int cnt = 1, l = i-1, r = i+1; while(l >= 0 and r < n){ if(s[l] == s[r]) cnt++, l--, r++; else break; } ans += cnt; } for(int i = 0; i < n-1; ++i){ if(s[i] != s[i+1]) continue; int cnt = 1, l = i-1, r = i+2; while(l >= 0 and r < n){ if(s[l] == s[r]) cnt++, l--, r++; else break; } ans += cnt; } return ans; } int main(){ string s; cin >> s; int n = (int)s.size(), answer = weight(s); for(int i = 0; i < n; ++i){ char ad = s[i]; for(char c = 'a'; c <= 'z'; ++c) s[i] = c, answer = max(answer, weight(s)); s[i] = ad; } printf("%d", answer); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...