Submission #3770304


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

template <typename T>
vector<int> kmp_table(int n, const T& s) {
  vector<int> p(n);
  int k = 0;
  for (int i = 1; i < n; ++i) {
    while (k > 0 && s[i] != s[k]) {
      k = p[k - 1];
    }
    if (s[i] == s[k]) {
      ++k;
    }
    p[i] = k;
  }
  return p;
}

template <typename T>
vector<int> kmp_table(const T& s) {
  return kmp_table((int) s.size(), s);
}

template <typename T>
vector<int> kmp_search(int n, const T& s, int m, const T& w, const vector<int>& p) {
  assert(n >= 1 && (int) p.size() == n);
  vector<int> ret;
  int k = 0;
  for (int i = 0; i < m; ++i) {
    while (k > 0 && (k == n || w[i] != s[k])) {
      k = p[k - 1];
    }
    if (w[i] == s[k]) {
      ++k;
    }
    if (k == n) {
      ret.push_back(i - n + 1);
    }
  }
  return ret;
}

template <typename T>
vector<int> kmp_search(const T& s, const T& w, const vector<int>& p) {
  return kmp_search((int) s.size(), s, (int) w.size(), w, p);
}

int main() {
  string s;
  cin >> s;
  int n = (int) s.size();
  vector<bool> f(n), g(n);
  for (int rot = 0; rot < 2; ++rot) {
    auto& v = rot == 0 ? f : g;
    auto p = kmp_table(s);
    for (int i = 0; i < n; ++i) {
      v[i] = (p[i] == 0 || (i + 1) % (i + 1 - p[i]) != 0);
    }
    reverse(s.begin(), s.end());
  }
  if (f[n - 1]) {
    cout << "1\n1\n";
    return 0;
  }
  int split = 0;
  for (int i = 0; i < n; ++i) {
    if (f[i] && g[n - 1 - i]) {
      ++split;
    }
  }
  if (split == 0) {
    cout << n << '\n' << 1 << '\n';
  } else {
    cout << 2 << '\n' << split << '\n';
  }
  return 0;
}

Submission Info

Submission Time
Task F - Best Representation
User nthoang
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1665 Byte
Status WA
Exec Time 26 ms
Memory 2916 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 0 / 400 0 / 500
Status
AC × 2
WA × 1
AC × 18
WA × 18
AC × 30
WA × 35
Set Name Test Cases
Sample example_01.txt, example_02.txt, example_03.txt
Subtask1 example_01.txt, example_02.txt, example_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt
All example_01.txt, example_02.txt, example_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt
Case Name Status Exec Time Memory
example_01.txt AC 1 ms 256 KB
example_02.txt WA 1 ms 256 KB
example_03.txt AC 1 ms 256 KB
subtask1_01.txt WA 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt WA 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt AC 1 ms 256 KB
subtask1_06.txt AC 1 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 1 ms 256 KB
subtask1_10.txt AC 1 ms 256 KB
subtask1_11.txt WA 1 ms 256 KB
subtask1_12.txt WA 1 ms 256 KB
subtask1_13.txt WA 1 ms 256 KB
subtask1_14.txt WA 1 ms 256 KB
subtask1_15.txt AC 1 ms 256 KB
subtask1_16.txt AC 1 ms 256 KB
subtask1_17.txt AC 1 ms 256 KB
subtask1_18.txt AC 1 ms 256 KB
subtask1_19.txt WA 1 ms 256 KB
subtask1_20.txt AC 1 ms 256 KB
subtask1_21.txt WA 1 ms 256 KB
subtask1_22.txt AC 1 ms 256 KB
subtask1_23.txt AC 1 ms 256 KB
subtask1_24.txt AC 1 ms 256 KB
subtask1_25.txt WA 1 ms 256 KB
subtask1_26.txt WA 1 ms 256 KB
subtask1_27.txt WA 1 ms 256 KB
subtask1_28.txt WA 1 ms 256 KB
subtask1_29.txt WA 1 ms 256 KB
subtask1_30.txt WA 1 ms 256 KB
subtask1_31.txt WA 1 ms 256 KB
subtask1_32.txt WA 1 ms 256 KB
subtask1_33.txt WA 1 ms 256 KB
subtask2_01.txt WA 20 ms 2308 KB
subtask2_02.txt AC 26 ms 2820 KB
subtask2_03.txt AC 25 ms 2916 KB
subtask2_04.txt AC 25 ms 2820 KB
subtask2_05.txt AC 26 ms 2820 KB
subtask2_06.txt AC 25 ms 2820 KB
subtask2_07.txt AC 25 ms 2820 KB
subtask2_08.txt AC 25 ms 2820 KB
subtask2_09.txt WA 25 ms 2820 KB
subtask2_10.txt WA 26 ms 2820 KB
subtask2_11.txt WA 25 ms 2820 KB
subtask2_12.txt WA 25 ms 2820 KB
subtask2_13.txt WA 26 ms 2820 KB
subtask2_14.txt AC 25 ms 2820 KB
subtask2_15.txt WA 26 ms 2820 KB
subtask2_16.txt AC 25 ms 2820 KB
subtask2_17.txt AC 24 ms 2820 KB
subtask2_18.txt AC 24 ms 2820 KB
subtask2_19.txt WA 26 ms 2820 KB
subtask2_20.txt WA 26 ms 2820 KB
subtask2_21.txt WA 24 ms 2692 KB
subtask2_22.txt WA 26 ms 2820 KB
subtask2_23.txt WA 25 ms 2820 KB
subtask2_24.txt WA 22 ms 2448 KB
subtask2_25.txt WA 23 ms 2564 KB
subtask2_26.txt WA 24 ms 2692 KB
subtask2_27.txt WA 21 ms 2308 KB
subtask2_28.txt AC 14 ms 1668 KB
subtask2_29.txt WA 20 ms 2308 KB