| Task: | Period |
| Sender: | omantere |
| Submission time: | 2016-10-22 13:43:56 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.03 s | details |
| #2 | WRONG ANSWER | 0.07 s | details |
| #3 | WRONG ANSWER | 0.05 s | details |
| #4 | WRONG ANSWER | 0.04 s | details |
| #5 | WRONG ANSWER | 0.06 s | details |
| #6 | WRONG ANSWER | 0.06 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;
cin >> s;
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;
}
}
cout << s.substr(0, p) << endl;
return 0;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| a |
| user output |
|---|
| a |
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| user output |
|---|
| a |
Test 3
Verdict: WRONG ANSWER
| input |
|---|
| nabvmrnenabvmrnenabvmrnenabvmr... |
| correct output |
|---|
| nabvmrne |
| user output |
|---|
| nabvmrnenabvmrnenabvmrnenabvmr... |
Test 4
Verdict: WRONG ANSWER
| input |
|---|
| fwqrbqnmobvwslpyfrlkrfwluaxyzk... |
| correct output |
|---|
| fwqrbqnmobvwslpyfrlkrfwluaxyzk... |
| user output |
|---|
| f |
Test 5
Verdict: WRONG ANSWER
| input |
|---|
| ohicwwkhdoesqvsyemhdhubpvmqkre... |
| correct output |
|---|
| ohicwwkhdoesqvsyemhdhubpvmqkre... |
| user output |
|---|
| o |
Test 6
Verdict: WRONG ANSWER
| input |
|---|
| gqzzocfzbuvfovbvamyflvcuuajzgu... |
| correct output |
|---|
| gqzzocfzbuvfovbvamyflvcuuajzgu... |
| user output |
|---|
| g |
