Task: | Lumimyrsky |
Sender: | Duarte_g_s |
Submission time: | 2023-11-03 10:26:10 +0200 |
Language: | C++ (C++20) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | WRONG ANSWER | 0.00 s | details |
#5 | WRONG ANSWER | 0.00 s | details |
#6 | WRONG ANSWER | 0.00 s | details |
#7 | WRONG ANSWER | 0.00 s | details |
#8 | WRONG ANSWER | 0.00 s | details |
#9 | WRONG ANSWER | 0.00 s | details |
#10 | WRONG ANSWER | 0.00 s | details |
#11 | ACCEPTED | 0.00 s | details |
Code
#include <iostream> #include <vector> #include <math.h> #include <limits.h> #include <set> #include <algorithm> #include <queue> #include <bitset> #include <limits.h> #include <float.h> #include <stack> #include <map> using namespace std; using ll = long long; vector<int> z(string s) { int n = s.size(); vector<int> z(n); int x = 0, y = 0; for (int i = 1; i < n; i++) { z[i] = max(0,min(z[i-x],y-i+1)); while (i+z[i] < n && s[z[i]] == s[i+z[i]]) { x = i; y = i+z[i]; z[i]++; } } return z; } int main() { string s; cin >> s; auto vec = z(s); vec[0] = s.length(); for(auto i: vec) { cout << i << " "; } return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
0 0 1 1 1 2 2 2 1 0 0 1 2 3 2 2 3 0 1 1 |
correct output |
---|
1 |
user output |
---|
1 |
Test 2
Verdict: ACCEPTED
input |
---|
1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 0 |
correct output |
---|
1 |
user output |
---|
1 |
Test 3
Verdict: ACCEPTED
input |
---|
1 2 2 2 0 0 0 2 0 0 0 1 0 1 1 2 1 2 1 2 |
correct output |
---|
1 |
user output |
---|
1 |
Test 4
Verdict: WRONG ANSWER
input |
---|
4 2 0 10 6 10 4 5 4 3 3 1 2 7 6 1 3 5 2 6 |
correct output |
---|
2 |
user output |
---|
1 |
Test 5
Verdict: WRONG ANSWER
input |
---|
6 0 7 9 3 1 5 6 9 4 9 0 1 0 2 2 0 1 4 7 |
correct output |
---|
2 |
user output |
---|
1 |
Test 6
Verdict: WRONG ANSWER
input |
---|
10 9 6 1 10 9 7 6 7 6 2 1 10 2 0 7 2 9 4 6 |
correct output |
---|
1 |
user output |
---|
2 0 |
Test 7
Verdict: WRONG ANSWER
input |
---|
22 5 87 83 20 36 92 98 49 9 61 40 77 35 52 49 29 100 18 81 |
correct output |
---|
1 |
user output |
---|
2 1 |
Test 8
Verdict: WRONG ANSWER
input |
---|
90 95 33 21 82 6 4 37 10 99 60 10 53 61 42 53 33 48 62 83 |
correct output |
---|
2 |
user output |
---|
2 0 |
Test 9
Verdict: WRONG ANSWER
input |
---|
7 22 78 32 44 98 73 46 98 31 54 26 50 8 7 42 27 1 50 53 |
correct output |
---|
2 |
user output |
---|
1 |
Test 10
Verdict: WRONG ANSWER
input |
---|
88 1 97 24 87 38 53 82 23 42 1 61 43 77 40 40 52 88 48 93 |
correct output |
---|
2 |
user output |
---|
2 1 |
Test 11
Verdict: ACCEPTED
input |
---|
1 36 50 50 50 0 13 31 14 1 22 88 42 13 25 13 8 39 34 49 |
correct output |
---|
1 |
user output |
---|
1 |