답안 #312025

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
312025 2020-10-12T07:23:37 Z FatihSolak Palinilap (COI16_palinilap) C++14
0 / 100
1000 ms 20856 KB
#include <bits/stdc++.h>
using namespace std;
int main(){
    string s;
    cin >> s;
    long long ans=0;
    int l=s.length();
    long long arr[l][26];
    for(int i=0;i<l;i++){
        for(int j=0;j<26;j++){
            arr[i][j]=0;
        }
    }
    for(int i=0;i<l;i++){
        for(int j=i;j<l;j++){
            string a="";
            for(int c=i;c<=j;c++){
                a +=s[c];
            }
            string b=a;
            reverse(a.begin(),a.end());
            if(b == a){
                ans++;
            }
            else{
                for(int h=0;h<(j-i+1)/2;h++){
                    if(b[h] != a[h]){
                        string d ="";
                        for(int c=i;c<=j;c++){
                            if(c == i+h || c == j-h){
                                continue;
                            }
                            d+=s[c];
                        }
                        string e=d;
                        reverse(d.begin(),d.end());
                        if(d==e){
                            arr[i+h][a[h]-'a']++;
                            arr[j-h][b[h]-'a']++;
                            //cout << i<< " " << j << " "<<  i+h <<" " << a[h] << " " << j-h  << " " << b[h]<< endl;
                        }
                    }
                }
            }
        }
    }
    //cout <<endl;
    long long maxi=0;
    for(int i=0;i<l;i++){
        for(int j=0;j<26;j++){
            maxi = max(maxi,arr[i][j]);
            //cout << arr[i][j] <<" ";
        }
        //cout <<endl;
    }
    cout << maxi +ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 23 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1088 ms 1400 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1094 ms 20856 KB Time limit exceeded
2 Halted 0 ms 0 KB -