Task: | Period |
Sender: | omantere |
Submission time: | 2016-10-22 13:48:23 +0300 |
Language: | C++ |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | WRONG ANSWER | 0.22 s | details |
#2 | WRONG ANSWER | 0.17 s | details |
#3 | WRONG ANSWER | 0.17 s | details |
#4 | WRONG ANSWER | 0.18 s | details |
#5 | WRONG ANSWER | 0.18 s | details |
#6 | WRONG ANSWER | 0.21 s | details |
Code
#include <bits/stdc++.h> #define _ ios_base::sync_with_stdio(0);cin.tie(); #define ll long long #define vi vector<int> #define pb push_back #define pii pair<int, int> #define vpii vector<pii> #define vvi vector< vector<int> > #define si set<int> #define mi map<string, int> using namespace std; int main() { _ string s; string f; cin >> f; s.reserve(2*s.size()); s = f + f; int L = 0; int R = 0; int n = s.size(); int z[n]; if(n == 1) { cout << s[0] << endl; return 0; } for(int i = 0; i < n; i++) z[i] = 0; int p = 0; for (int i = 1; i < n; i++) { if (i > R) { L = R = i; while (R < n && s[R-L] == s[R]) R++; z[i] = R-L; R--; } else { int k = i-L; if (z[k] < R-i+1) z[i] = z[k]; else { L = i; while (R < n && s[R-L] == s[R]) R++; z[i] = R-L; R--; } } if(z[i] >= p) { p = z[i]; } else if(z[i] != 0) { p -= z[i]; break; } } for(int i = 0; i < n; i++) cout << z[i] << " "; cout << endl; cout << s.substr(0, p) << endl; return 0; }
Test details
Test 1
Verdict: WRONG ANSWER
input |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
correct output |
---|
a |
user output |
---|
0 1999999 1999998 0 0 0 0 0 0 ... |
Test 2
Verdict: WRONG ANSWER
input |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
correct output |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
user output |
---|
0 999998 999997 0 0 0 0 0 0 0 ... |
Test 3
Verdict: WRONG ANSWER
input |
---|
nabvmrnenabvmrnenabvmrnenabvmr... |
correct output |
---|
nabvmrne |
user output |
---|
0 0 0 0 0 0 1 0 1999992 0 0 0 ... |
Test 4
Verdict: WRONG ANSWER
input |
---|
fwqrbqnmobvwslpyfrlkrfwluaxyzk... |
correct output |
---|
fwqrbqnmobvwslpyfrlkrfwluaxyzk... |
user output |
---|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
Test 5
Verdict: WRONG ANSWER
input |
---|
ohicwwkhdoesqvsyemhdhubpvmqkre... |
correct output |
---|
ohicwwkhdoesqvsyemhdhubpvmqkre... |
user output |
---|
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ... |
Test 6
Verdict: WRONG ANSWER
input |
---|
gqzzocfzbuvfovbvamyflvcuuajzgu... |
correct output |
---|
gqzzocfzbuvfovbvamyflvcuuajzgu... |
user output |
---|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |