Task: | Ctrl-F |
Sender: | aalto2024j_003 |
Submission time: | 2024-11-06 16:26:13 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | ACCEPTED | 0.00 s | details |
#5 | ACCEPTED | 0.00 s | details |
#6 | ACCEPTED | 0.00 s | details |
#7 | ACCEPTED | 0.00 s | details |
#8 | ACCEPTED | 0.00 s | details |
#9 | ACCEPTED | 0.00 s | details |
#10 | ACCEPTED | 0.00 s | details |
#11 | ACCEPTED | 0.00 s | details |
#12 | ACCEPTED | 0.00 s | details |
#13 | ACCEPTED | 0.00 s | details |
#14 | ACCEPTED | 0.00 s | details |
#15 | ACCEPTED | 0.00 s | details |
#16 | ACCEPTED | 0.00 s | details |
#17 | ACCEPTED | 0.00 s | details |
#18 | ACCEPTED | 0.00 s | details |
#19 | ACCEPTED | 0.00 s | details |
#20 | ACCEPTED | 0.00 s | details |
#21 | ACCEPTED | 0.00 s | details |
#22 | ACCEPTED | 0.00 s | details |
#23 | ACCEPTED | 0.00 s | details |
#24 | ACCEPTED | 0.01 s | details |
#25 | ACCEPTED | 0.00 s | details |
#26 | ACCEPTED | 0.00 s | details |
#27 | ACCEPTED | 0.00 s | details |
#28 | ACCEPTED | 0.00 s | details |
#29 | ACCEPTED | 0.00 s | details |
#30 | ACCEPTED | 0.00 s | details |
#31 | ACCEPTED | 0.00 s | details |
#32 | ACCEPTED | 0.00 s | details |
#33 | ACCEPTED | 0.00 s | details |
#34 | ACCEPTED | 0.00 s | details |
#35 | ACCEPTED | 0.00 s | details |
#36 | ACCEPTED | 0.00 s | details |
#37 | ACCEPTED | 0.00 s | details |
#38 | ACCEPTED | 0.00 s | details |
#39 | ACCEPTED | 0.00 s | details |
#40 | ACCEPTED | 0.00 s | details |
#41 | ACCEPTED | 0.00 s | details |
#42 | ACCEPTED | 0.01 s | details |
#43 | ACCEPTED | 0.00 s | details |
#44 | ACCEPTED | 0.00 s | details |
#45 | ACCEPTED | 0.00 s | details |
#46 | ACCEPTED | 0.00 s | details |
#47 | ACCEPTED | 0.00 s | details |
#48 | ACCEPTED | 0.00 s | details |
#49 | ACCEPTED | 0.00 s | details |
#50 | ACCEPTED | 0.00 s | details |
#51 | ACCEPTED | 0.00 s | details |
#52 | ACCEPTED | 0.00 s | details |
#53 | ACCEPTED | 0.00 s | details |
#54 | ACCEPTED | 0.00 s | details |
#55 | ACCEPTED | 0.00 s | details |
#56 | ACCEPTED | 0.00 s | details |
#57 | ACCEPTED | 0.00 s | details |
#58 | ACCEPTED | 0.00 s | details |
#59 | ACCEPTED | 0.00 s | details |
#60 | ACCEPTED | 0.00 s | details |
#61 | ACCEPTED | 0.00 s | details |
#62 | ACCEPTED | 0.00 s | details |
#63 | ACCEPTED | 0.00 s | details |
#64 | ACCEPTED | 0.00 s | details |
#65 | ACCEPTED | 0.00 s | details |
#66 | ACCEPTED | 0.00 s | details |
#67 | ACCEPTED | 0.00 s | details |
#68 | ACCEPTED | 0.00 s | details |
#69 | ACCEPTED | 0.00 s | details |
#70 | ACCEPTED | 0.00 s | details |
#71 | ACCEPTED | 0.00 s | details |
#72 | ACCEPTED | 0.00 s | details |
#73 | ACCEPTED | 0.00 s | details |
#74 | ACCEPTED | 0.00 s | details |
#75 | ACCEPTED | 0.00 s | details |
#76 | ACCEPTED | 0.00 s | details |
#77 | ACCEPTED | 0.00 s | details |
#78 | ACCEPTED | 0.00 s | details |
#79 | ACCEPTED | 0.00 s | details |
#80 | ACCEPTED | 0.00 s | details |
#81 | ACCEPTED | 0.00 s | details |
#82 | ACCEPTED | 0.00 s | details |
#83 | ACCEPTED | 0.00 s | details |
#84 | ACCEPTED | 0.01 s | details |
#85 | ACCEPTED | 0.01 s | details |
#86 | ACCEPTED | 0.01 s | details |
#87 | ACCEPTED | 0.01 s | details |
#88 | ACCEPTED | 0.01 s | details |
#89 | ACCEPTED | 0.01 s | details |
#90 | ACCEPTED | 0.01 s | details |
#91 | ACCEPTED | 0.01 s | details |
#92 | ACCEPTED | 0.01 s | details |
#93 | ACCEPTED | 0.01 s | details |
Code
#pragma GCC optimize("O3","unroll-loops") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt") #include <bits/stdc++.h> using namespace std; #define int long long #define rep(i, a, b) for(int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; string to_string(string s) { return '"' + s + '"'; } string to_string(const char* s) { return to_string((string) s); } string to_string(bool b) { return (b ? "true" : "false"); } template <typename A, typename B> string to_string(pair<A, B> p) { return "(" + to_string(p.first) + ", " + to_string(p.second) + ")"; } template <typename A> string to_string(A v) { bool first = true; string res = "{"; for (const auto &x : v) { if (!first) { res += ", "; } first = false; res += to_string(x); } res += "}"; return res; } void debug_out() { cerr << endl; } template <typename Head, typename... Tail> void debug_out(Head H, Tail... T) { cerr << " " << to_string(H); debug_out(T...); } #ifdef LOCAL #define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__) #else #define debug(...) 42 #endif /** * Author: chilli * License: CC0 * Description: z[i] computes the length of the longest common prefix of s[i:] and s, * except z[0] = 0. (abacaba -> 0010301) * Time: O(n) * Status: stress-tested */ vi Z(const string& S) { vi z(sz(S)); int l = -1, r = -1; rep(i,1,sz(S)) { z[i] = i >= r ? 0 : min(r - i, z[i - l]); while (i + z[i] < sz(S) && S[i + z[i]] == S[z[i]]) z[i]++; if (i + z[i] > r) l = i, r = i + z[i]; } return z; } void solve() { string a, b; cin >> a >> b; string s = a + '#' + b; vi z = Z(s); vi ans; for (int i = sz(a) + 1; i < sz(z); i++) { if (z[i] == sz(a)) { ans.push_back(i - sz(a)); } } cout << sz(ans) << '\n'; for (int i : ans) cout << i << ' '; } signed main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); // RTE if input wrong datatype solve(); }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
q q |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 2
Verdict: ACCEPTED
input |
---|
wr wn |
correct output |
---|
0 |
user output |
---|
0 |
Test 3
Verdict: ACCEPTED
input |
---|
sy sy |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 4
Verdict: ACCEPTED
input |
---|
su sub |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 5
Verdict: ACCEPTED
input |
---|
nrd yjm |
correct output |
---|
0 |
user output |
---|
0 |
Test 6
Verdict: ACCEPTED
input |
---|
a bbbb |
correct output |
---|
0 |
user output |
---|
0 |
Test 7
Verdict: ACCEPTED
input |
---|
mtn mtnr |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 8
Verdict: ACCEPTED
input |
---|
bnp lbnpr |
correct output |
---|
1 2 |
user output |
---|
1 2 |
Test 9
Verdict: ACCEPTED
input |
---|
bab aabbb |
correct output |
---|
0 |
user output |
---|
0 |
Test 10
Verdict: ACCEPTED
input |
---|
aba babab |
correct output |
---|
1 2 |
user output |
---|
1 2 |
Test 11
Verdict: ACCEPTED
input |
---|
aabb bbaab |
correct output |
---|
0 |
user output |
---|
0 |
Test 12
Verdict: ACCEPTED
input |
---|
gx oqxwd |
correct output |
---|
0 |
user output |
---|
0 |
Test 13
Verdict: ACCEPTED
input |
---|
noe noemx |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 14
Verdict: ACCEPTED
input |
---|
bbbbbabb aaababaaab |
correct output |
---|
0 |
user output |
---|
0 |
Test 15
Verdict: ACCEPTED
input |
---|
caaac aaababbcbc |
correct output |
---|
0 |
user output |
---|
0 |
Test 16
Verdict: ACCEPTED
input |
---|
ayoyl mkiiefsqdh |
correct output |
---|
0 |
user output |
---|
0 |
Test 17
Verdict: ACCEPTED
input |
---|
svhdno xlxadbfgbc |
correct output |
---|
0 |
user output |
---|
0 |
Test 18
Verdict: ACCEPTED
input |
---|
accc bcbaacaaca |
correct output |
---|
0 |
user output |
---|
0 |
Test 19
Verdict: ACCEPTED
input |
---|
wvf jxzmcpktjn |
correct output |
---|
0 |
user output |
---|
0 |
Test 20
Verdict: ACCEPTED
input |
---|
ac aabacbabbb |
correct output |
---|
1 4 |
user output |
---|
1 4 |
Test 21
Verdict: ACCEPTED
input |
---|
l uilzslziog |
correct output |
---|
2 3 6 |
user output |
---|
2 3 6 |
Test 22
Verdict: ACCEPTED
input |
---|
zgwjnvgka pltkknwmyo |
correct output |
---|
0 |
user output |
---|
0 |
Test 23
Verdict: ACCEPTED
input |
---|
d nmmadidafw |
correct output |
---|
2 5 7 |
user output |
---|
2 5 7 |
Test 24
Verdict: ACCEPTED
input |
---|
amqltvmp amqltvmpfa |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 25
Verdict: ACCEPTED
input |
---|
ar mfsykcmfax |
correct output |
---|
0 |
user output |
---|
0 |
Test 26
Verdict: ACCEPTED
input |
---|
xa twgcnsajxa |
correct output |
---|
1 9 |
user output |
---|
1 9 |
Test 27
Verdict: ACCEPTED
input |
---|
bbb babbabbbbb |
correct output |
---|
3 6 7 8 |
user output |
---|
3 6 7 8 |
Test 28
Verdict: ACCEPTED
input |
---|
bcbaa aacabaabbb |
correct output |
---|
0 |
user output |
---|
0 |
Test 29
Verdict: ACCEPTED
input |
---|
ba abcacbaaca |
correct output |
---|
1 6 |
user output |
---|
1 6 |
Test 30
Verdict: ACCEPTED
input |
---|
djs nboibdjsfe |
correct output |
---|
1 6 |
user output |
---|
1 6 |
Test 31
Verdict: ACCEPTED
input |
---|
nve xbuukrcqfo |
correct output |
---|
0 |
user output |
---|
0 |
Test 32
Verdict: ACCEPTED
input |
---|
nlwgexw ftarlzogwa |
correct output |
---|
0 |
user output |
---|
0 |
Test 33
Verdict: ACCEPTED
input |
---|
i tkgsdgircb |
correct output |
---|
1 7 |
user output |
---|
1 7 |
Test 34
Verdict: ACCEPTED
input |
---|
ccccba bccbcbabca |
correct output |
---|
0 |
user output |
---|
0 |
Test 35
Verdict: ACCEPTED
input |
---|
bba ababaaabba |
correct output |
---|
1 8 |
user output |
---|
1 8 |
Test 36
Verdict: ACCEPTED
input |
---|
babbb ababaabaaa |
correct output |
---|
0 |
user output |
---|
0 |
Test 37
Verdict: ACCEPTED
input |
---|
abbabaabaa aaabbaaabb |
correct output |
---|
0 |
user output |
---|
0 |
Test 38
Verdict: ACCEPTED
input |
---|
sbzifzjntu sbzifzjntu |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 39
Verdict: ACCEPTED
input |
---|
aaaaaa aaabbaabaa |
correct output |
---|
0 |
user output |
---|
0 |
Test 40
Verdict: ACCEPTED
input |
---|
abbbab aaaababbba |
correct output |
---|
0 |
user output |
---|
0 |
Test 41
Verdict: ACCEPTED
input |
---|
jjhzv vxtmwjjhzv |
correct output |
---|
1 6 |
user output |
---|
1 6 |
Test 42
Verdict: ACCEPTED
input |
---|
ohdekkui naemwyyvzo |
correct output |
---|
0 |
user output |
---|
0 |
Test 43
Verdict: ACCEPTED
input |
---|
ba ccbbabaccc |
correct output |
---|
2 4 6 |
user output |
---|
2 4 6 |
Test 44
Verdict: ACCEPTED
input |
---|
qltvmpfafstgegcdrryvainxvfpasw... |
correct output |
---|
1 3 |
user output |
---|
1 3 |
Test 45
Verdict: ACCEPTED
input |
---|
armfsykcmfaxmvycwxs scnxuwpetq... |
correct output |
---|
0 |
user output |
---|
0 |
Test 46
Verdict: ACCEPTED
input |
---|
iazfqzyetdvokklp twgcnsajxaxha... |
correct output |
---|
1 63 |
user output |
---|
1 63 |
Test 47
Verdict: ACCEPTED
input |
---|
bbb babbabbbbbbabaabababbaaaba... |
correct output |
---|
14 6 7 8 9 52 53 58 59 64 76 77 7... |
user output |
---|
14 6 7 8 9 52 53 58 59 64 76 77 7... |
Test 48
Verdict: ACCEPTED
input |
---|
bcbaa aacabaabbbaccbbabcaacaaa... |
correct output |
---|
0 |
user output |
---|
0 |
Test 49
Verdict: ACCEPTED
input |
---|
ba abcacbaacacaaaccaabcbcccbac... |
correct output |
---|
11 6 25 38 44 51 70 72 77 92 94 9... |
user output |
---|
11 6 25 38 44 51 70 72 77 92 94 9... |
Test 50
Verdict: ACCEPTED
input |
---|
boibdjsferqewbvyroecpso nboibd... |
correct output |
---|
1 2 |
user output |
---|
1 2 |
Test 51
Verdict: ACCEPTED
input |
---|
nvexbuukrcqfoqbwjbytbowawfbmqh... |
correct output |
---|
0 |
user output |
---|
0 |
Test 52
Verdict: ACCEPTED
input |
---|
nlwgexwftarlzogwazqiwotpahcqhf... |
correct output |
---|
0 |
user output |
---|
0 |
Test 53
Verdict: ACCEPTED
input |
---|
xjjeioibiv tkgsdgircbrduazzqpf... |
correct output |
---|
1 66 |
user output |
---|
1 66 |
Test 54
Verdict: ACCEPTED
input |
---|
ccccba bccbcbabcacaccccbcccaac... |
correct output |
---|
0 |
user output |
---|
0 |
Test 55
Verdict: ACCEPTED
input |
---|
bba ababaaabbaabbaaabaabaaaabb... |
correct output |
---|
11 8 12 26 30 37 42 66 72 82 88 9... |
user output |
---|
11 8 12 26 30 37 42 66 72 82 88 9... |
Test 56
Verdict: ACCEPTED
input |
---|
babbb ababaabaaabbaabababbaaaa... |
correct output |
---|
2 46 61 |
user output |
---|
2 46 61 |
Test 57
Verdict: ACCEPTED
input |
---|
abbabaabaa aaabbaaabbbbaabbabb... |
correct output |
---|
0 |
user output |
---|
0 |
Test 58
Verdict: ACCEPTED
input |
---|
sbzifzjntuzmiqdhjoiajrskxxntgh... |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 59
Verdict: ACCEPTED
input |
---|
aaaaaa aaabbaabaababaaabbaabbb... |
correct output |
---|
0 |
user output |
---|
0 |
Test 60
Verdict: ACCEPTED
input |
---|
abbbab aaaababbbaaabbaaabaabab... |
correct output |
---|
0 |
user output |
---|
0 |
Test 61
Verdict: ACCEPTED
input |
---|
ghauoeqbgszeeppknnlffspwvyytbm... |
correct output |
---|
1 40 |
user output |
---|
1 40 |
Test 62
Verdict: ACCEPTED
input |
---|
ohdekkuinaemwyyvzofxzwgwaryuxm... |
correct output |
---|
0 |
user output |
---|
0 |
Test 63
Verdict: ACCEPTED
input |
---|
ba ccbbabaccccccccaacaabbbbaaa... |
correct output |
---|
9 4 6 24 35 54 72 76 83 91 |
user output |
---|
9 4 6 24 35 54 72 76 83 91 |
Test 64
Verdict: ACCEPTED
input |
---|
qltvmpfafstgegcdrryvainxvfpasw... |
correct output |
---|
1 3 |
user output |
---|
1 3 |
Test 65
Verdict: ACCEPTED
input |
---|
armfsykcmfaxmvycwxsscnxuwpetqr... |
correct output |
---|
0 |
user output |
---|
0 |
Test 66
Verdict: ACCEPTED
input |
---|
ljsoejwqaebfjygmnrdcqoowvcgsei... |
correct output |
---|
1 569 |
user output |
---|
1 569 |
Test 67
Verdict: ACCEPTED
input |
---|
bbb babbabbbbbbabaabababbaaaba... |
correct output |
---|
122 6 7 8 9 52 53 58 59 64 76 77 7... |
user output |
---|
122 6 7 8 9 52 53 58 59 64 76 77 7... |
Test 68
Verdict: ACCEPTED
input |
---|
bcbaa aacabaabbbaccbbabcaacaaa... |
correct output |
---|
2 128 811 |
user output |
---|
2 128 811 |
Test 69
Verdict: ACCEPTED
input |
---|
ba abcacbaacacaaaccaabcbcccbac... |
correct output |
---|
115 6 25 38 44 51 70 72 77 92 94 9... |
user output |
---|
115 6 25 38 44 51 70 72 77 92 94 9... |
Test 70
Verdict: ACCEPTED
input |
---|
xbdpqykclzyjerkdnyfqrynxbloyps... |
correct output |
---|
1 174 |
user output |
---|
1 174 |
Test 71
Verdict: ACCEPTED
input |
---|
nvexbuukrcqfoqbwjbytbowawfbmqh... |
correct output |
---|
0 |
user output |
---|
0 |
Test 72
Verdict: ACCEPTED
input |
---|
nlwgexwftarlzogwazqiwotpahcqhf... |
correct output |
---|
0 |
user output |
---|
0 |
Test 73
Verdict: ACCEPTED
input |
---|
dqzgitxhpsubvrsocoxjjeioibivfs... |
correct output |
---|
1 48 |
user output |
---|
1 48 |
Test 74
Verdict: ACCEPTED
input |
---|
ccccba bccbcbabcacaccccbcccaac... |
correct output |
---|
3 229 277 593 |
user output |
---|
3 229 277 593 |
Test 75
Verdict: ACCEPTED
input |
---|
bba ababaaabbaabbaaabaabaaaabb... |
correct output |
---|
121 8 12 26 30 37 42 66 72 82 88 9... |
user output |
---|
121 8 12 26 30 37 42 66 72 82 88 9... |
Test 76
Verdict: ACCEPTED
input |
---|
babbb ababaabaaabbaabababbaaaa... |
correct output |
---|
29 46 61 118 126 252 318 330 350 ... |
user output |
---|
29 46 61 118 126 252 318 330 350 ... |
Test 77
Verdict: ACCEPTED
input |
---|
abbabaabaa aaabbaaabbbbaabbabb... |
correct output |
---|
2 167 584 |
user output |
---|
2 167 584 |
Test 78
Verdict: ACCEPTED
input |
---|
yxlvjhoqnrjzixyyxqypyfcmeujvyn... |
correct output |
---|
1 36 |
user output |
---|
1 36 |
Test 79
Verdict: ACCEPTED
input |
---|
aaaaaa aaabbaabaababaaabbaabbb... |
correct output |
---|
16 147 148 222 223 224 225 303 30... |
user output |
---|
16 147 148 222 223 224 225 303 30... |
Test 80
Verdict: ACCEPTED
input |
---|
abbbab aaaababbbaaabbaaabaabab... |
correct output |
---|
13 208 278 449 539 572 637 698 82... |
user output |
---|
13 208 278 449 539 572 637 698 82... |
Test 81
Verdict: ACCEPTED
input |
---|
tkjzptqkkzkyuknjbtdhbxzbvdynoe... |
correct output |
---|
1 398 |
user output |
---|
1 398 |
Test 82
Verdict: ACCEPTED
input |
---|
ohdekkuinaemwyyvzofxzwgwaryuxm... |
correct output |
---|
0 |
user output |
---|
0 |
Test 83
Verdict: ACCEPTED
input |
---|
ba ccbbabaccccccccaacaabbbbaaa... |
correct output |
---|
106 4 6 24 35 54 72 76 83 91 120 1... |
user output |
---|
106 4 6 24 35 54 72 76 83 91 120 1... |
Test 84
Verdict: ACCEPTED
input |
---|
uimfxocfupiquprsfvwrktflasqzwg... |
correct output |
---|
1 12309 |
user output |
---|
1 12309 |
Test 85
Verdict: ACCEPTED
input |
---|
armfsykcmfaxmvycwxsscnxuwpetqr... |
correct output |
---|
0 |
user output |
---|
0 |
Test 86
Verdict: ACCEPTED
input |
---|
bvifyeheqbketqmweyvfwxslczpinq... |
correct output |
---|
1 72135 |
user output |
---|
1 72135 |
Test 87
Verdict: ACCEPTED
input |
---|
bbb babbabbbbbbabaabababbaaaba... |
correct output |
---|
12448 6 7 8 9 52 53 58 59 64 76 77 7... |
user output |
---|
12448 6 7 8 9 52 53 58 59 64 76 77 7... |
Test 88
Verdict: ACCEPTED
input |
---|
bcbaa aacabaabbbaccbbabcaacaaa... |
correct output |
---|
415 128 811 1185 1404 1540 1595 18... |
user output |
---|
415 128 811 1185 1404 1540 1595 18... |
Test 89
Verdict: ACCEPTED
input |
---|
ba abcacbaacacaaaccaabcbcccbac... |
correct output |
---|
22302 6 25 38 44 51 70 72 77 92 94 9... |
user output |
---|
22302 6 25 38 44 51 70 72 77 92 94 9... |
Test 90
Verdict: ACCEPTED
input |
---|
hdoncwccngxcinaaxlqqaqeeddicpb... |
correct output |
---|
1 25985 |
user output |
---|
1 25985 |
Test 91
Verdict: ACCEPTED
input |
---|
nvexbuukrcqfoqbwjbytbowawfbmqh... |
correct output |
---|
0 |
user output |
---|
0 |
Test 92
Verdict: ACCEPTED
input |
---|
nlwgexwftarlzogwazqiwotpahcqhf... |
correct output |
---|
0 |
user output |
---|
0 |
Test 93
Verdict: ACCEPTED
input |
---|
psvihsxqpawhwrzhxgbpkgaeoxkrtp... |
correct output |
---|
1 108381 |
user output |
---|
1 108381 |