Submission #3492330
Source Code Expand
#include <bits/stdc++.h> #define For(i, l, r) for(register int i = (l), i##end = (int)(r); i <= i##end; ++i) #define Fordown(i, r, l) for(register int i = (r), i##end = (int)(l); i >= i##end; --i) #define Set(a, v) memset(a, v, sizeof(a)) #define Cpy(a, b) memcpy(a, b, sizeof(a)) #define debug(x) cout << #x << ": " << (x) << endl #define DEBUG(...) fprintf(stderr, __VA_ARGS__) using namespace std; template<typename T> inline bool chkmin(T &a, T b) { return b < a ? a = b, 1 : 0; } template<typename T> inline bool chkmax(T &a, T b) { return b > a ? a = b, 1 : 0; } inline int read() { int x(0), sgn(1); char ch(getchar()); for (; !isdigit(ch); ch = getchar()) if (ch == '-') sgn = -1; for (; isdigit(ch); ch = getchar()) x = (x * 10) + (ch ^ 48); return x * sgn; } void File() { #ifdef zjp_shadow freopen ("F.in", "r", stdin); freopen ("F.out", "w", stdout); #endif } const int N = 5e5 + 1e3; char str[N]; int fail[N], len; void Get_Fail(char *str, bool *Pass) { For (i, 2, len) { static int j; for (j = fail[i - 1]; j && str[j + 1] != str[i]; j = fail[j]); fail[i] = j + (str[j + 1] == str[i]); } For (i, 1, len) if (!fail[i] || i % (i - fail[i])) Pass[i] = true; } bool f[N], g[N]; int main () { scanf ("%s", str + 1); len = strlen(str + 1); Get_Fail(str, f); reverse(str + 1, str + len + 1); Get_Fail(str, g); reverse(g + 1, g + len + 1); if (f[len]) return puts("1\n1"), 0; int ans = 0; For (i, 1, len - 1) if (f[i] && g[i + 1]) ++ ans; if (ans) printf ("2\n%d\n", ans); else printf ("%d\n1", len); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Best Representation |
User | zjp_shadow |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 1646 Byte |
Status | AC |
Exec Time | 11 ms |
Memory | 3712 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:47:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf ("%s", str + 1); ^
Judge Result
Set Name | Sample | Subtask1 | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | 500 / 500 | ||||||
Status |
|
|
|
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 | AC | 1 ms | 256 KB |
example_03.txt | AC | 1 ms | 256 KB |
subtask1_01.txt | AC | 1 ms | 256 KB |
subtask1_02.txt | AC | 1 ms | 256 KB |
subtask1_03.txt | AC | 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 | AC | 1 ms | 256 KB |
subtask1_12.txt | AC | 1 ms | 256 KB |
subtask1_13.txt | AC | 1 ms | 256 KB |
subtask1_14.txt | AC | 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 | AC | 1 ms | 256 KB |
subtask1_20.txt | AC | 1 ms | 256 KB |
subtask1_21.txt | AC | 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 | AC | 1 ms | 256 KB |
subtask1_26.txt | AC | 1 ms | 256 KB |
subtask1_27.txt | AC | 1 ms | 256 KB |
subtask1_28.txt | AC | 1 ms | 256 KB |
subtask1_29.txt | AC | 1 ms | 256 KB |
subtask1_30.txt | AC | 1 ms | 256 KB |
subtask1_31.txt | AC | 1 ms | 256 KB |
subtask1_32.txt | AC | 1 ms | 256 KB |
subtask1_33.txt | AC | 1 ms | 256 KB |
subtask2_01.txt | AC | 9 ms | 2944 KB |
subtask2_02.txt | AC | 10 ms | 3200 KB |
subtask2_03.txt | AC | 9 ms | 3200 KB |
subtask2_04.txt | AC | 9 ms | 3712 KB |
subtask2_05.txt | AC | 10 ms | 3200 KB |
subtask2_06.txt | AC | 9 ms | 3200 KB |
subtask2_07.txt | AC | 10 ms | 3712 KB |
subtask2_08.txt | AC | 10 ms | 3712 KB |
subtask2_09.txt | AC | 10 ms | 3712 KB |
subtask2_10.txt | AC | 10 ms | 3712 KB |
subtask2_11.txt | AC | 10 ms | 3712 KB |
subtask2_12.txt | AC | 10 ms | 3712 KB |
subtask2_13.txt | AC | 10 ms | 3712 KB |
subtask2_14.txt | AC | 10 ms | 3712 KB |
subtask2_15.txt | AC | 10 ms | 3712 KB |
subtask2_16.txt | AC | 10 ms | 3712 KB |
subtask2_17.txt | AC | 9 ms | 3712 KB |
subtask2_18.txt | AC | 10 ms | 3712 KB |
subtask2_19.txt | AC | 10 ms | 3584 KB |
subtask2_20.txt | AC | 11 ms | 3712 KB |
subtask2_21.txt | AC | 10 ms | 3456 KB |
subtask2_22.txt | AC | 10 ms | 3712 KB |
subtask2_23.txt | AC | 10 ms | 3712 KB |
subtask2_24.txt | AC | 9 ms | 3200 KB |
subtask2_25.txt | AC | 10 ms | 3328 KB |
subtask2_26.txt | AC | 10 ms | 3456 KB |
subtask2_27.txt | AC | 9 ms | 3072 KB |
subtask2_28.txt | AC | 6 ms | 2048 KB |
subtask2_29.txt | AC | 8 ms | 2944 KB |