Submission #545816

# Submission time Handle Problem Language Result Execution time Memory
545816 2022-04-05T13:51:05 Z Ai7081 Palindromic Partitions (CEOI17_palindromic) C++17
15 / 100
4 ms 2280 KB
#include <bits/stdc++.h>
using namespace std;

const int mod = 1e9+7;
const int key = 13;

int t, out, l, r, now, po[500005];
string s;
stack<char> st;
bool ok;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);
    po[0] = 1;
    for (int i=1; i<=500000; i++) po[i] = (po[i-1] * key) % mod;
    cin >> t;
    while (t--) {
        cin >> s;
        ok = false;
        out = l = r = now = 0;
        for (int i=0; i<s.size()/2; i++) {
            l *= key, l += (s[i]-'a'), l %= mod;
            r += (s[s.size()-1-i]-'a')*po[now], r %= mod;
            if (i == s.size()/2-1 && l == r) ok = true;
            if (l == r) now = l = r = 0, out += 2;
            else now++;
        }
        (s.size()%2 || !ok) ? cout << out+1 << endl : cout << out << endl;
    }
    return 0;
}

Compilation message

palindromic.cpp: In function 'int main()':
palindromic.cpp:21:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |         for (int i=0; i<s.size()/2; i++) {
      |                       ~^~~~~~~~~~~
palindromic.cpp:24:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |             if (i == s.size()/2-1 && l == r) ok = true;
      |                 ~~^~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2276 KB Output is correct
2 Correct 4 ms 2276 KB Output is correct
3 Correct 4 ms 2260 KB Output is correct
4 Correct 4 ms 2280 KB Output is correct
5 Correct 3 ms 2276 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2276 KB Output is correct
2 Correct 4 ms 2276 KB Output is correct
3 Correct 4 ms 2260 KB Output is correct
4 Correct 4 ms 2280 KB Output is correct
5 Correct 3 ms 2276 KB Output is correct
6 Incorrect 4 ms 2260 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2276 KB Output is correct
2 Correct 4 ms 2276 KB Output is correct
3 Correct 4 ms 2260 KB Output is correct
4 Correct 4 ms 2280 KB Output is correct
5 Correct 3 ms 2276 KB Output is correct
6 Incorrect 4 ms 2260 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2276 KB Output is correct
2 Correct 4 ms 2276 KB Output is correct
3 Correct 4 ms 2260 KB Output is correct
4 Correct 4 ms 2280 KB Output is correct
5 Correct 3 ms 2276 KB Output is correct
6 Incorrect 4 ms 2260 KB Output isn't correct
7 Halted 0 ms 0 KB -