Submission #125324

# Submission time Handle Problem Language Result Execution time Memory
125324 2019-07-05T05:45:18 Z semiauto Palindromic Partitions (CEOI17_palindromic) C++14
100 / 100
595 ms 3296 KB
#include <bits/stdc++.h>
using namespace std;
const long long p1=997,r1=1000000007;
long long t,ans;
string s;
void solve(long long l,long long r) {
    long long h1=0,h2=0,s1=1;
    while (h1!=h2 || !h1) {
        if (l>=r) {
            ans++;
            return;
        }
        s1=(s1*p1)%r1;
        h1=(h1+s1*(s[l]-'a'+1))%r1;
        h2=((h2+(s[r]-'a'+1))*p1)%r1;
        l++;r--;
    }
    ans+=2;
    if (l<=r)
        solve(l,r);
}
int main() {
    cin>>t;
    while (cin>>s) {
        ans=0;
        solve(0,s.length()-1);
        cout<<ans<<endl;
    }
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 348 KB Output is correct
5 Correct 2 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 348 KB Output is correct
5 Correct 2 ms 348 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 424 KB Output is correct
9 Correct 2 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 348 KB Output is correct
5 Correct 2 ms 348 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 424 KB Output is correct
9 Correct 2 ms 364 KB Output is correct
10 Correct 8 ms 376 KB Output is correct
11 Correct 5 ms 376 KB Output is correct
12 Correct 8 ms 376 KB Output is correct
13 Correct 7 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 348 KB Output is correct
5 Correct 2 ms 348 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 424 KB Output is correct
9 Correct 2 ms 364 KB Output is correct
10 Correct 8 ms 376 KB Output is correct
11 Correct 5 ms 376 KB Output is correct
12 Correct 8 ms 376 KB Output is correct
13 Correct 7 ms 376 KB Output is correct
14 Correct 595 ms 3296 KB Output is correct
15 Correct 317 ms 3244 KB Output is correct
16 Correct 561 ms 3240 KB Output is correct
17 Correct 379 ms 2080 KB Output is correct