Submission details
Task:Period
Sender:kkivimaki
Submission time:2020-09-26 14:08:18 +0300
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.01 sdetails
#2ACCEPTED0.01 sdetails
#3ACCEPTED0.01 sdetails
#4ACCEPTED0.01 sdetails
#5ACCEPTED0.01 sdetails
#6ACCEPTED0.01 sdetails
#7ACCEPTED0.01 sdetails
#8--details
#9--details
#10--details
#11ACCEPTED0.61 sdetails
#12ACCEPTED0.06 sdetails
#13ACCEPTED0.02 sdetails
#14ACCEPTED0.01 sdetails
#15ACCEPTED0.01 sdetails
#16ACCEPTED0.01 sdetails
#17ACCEPTED0.01 sdetails
#18ACCEPTED0.01 sdetails
#19ACCEPTED0.01 sdetails
#20ACCEPTED0.01 sdetails
#21ACCEPTED0.01 sdetails

Code

#include <vector>
#include <iostream>
#include <string>


using namespace std;


int main() {
    string s;
    cin >> s;

    int n = s.size();

    int *z = new int[n];
    for(int i = 0; i < n; i++) z[i] = 0;


    for(int i = 1; i < n; i++) {
        int j = 0;
        while (j + 1 < n && s[j + i] == s[j]) {
            j++;
        }
        z[i] = j;
    }

    /*
    for(int i = 0; i < n; i++) {
        cout << z[i] << " ";
    }
    cout << endl;
    */

    for(int i = 0; i < n; i++) {
        int l = n - i;
        if (z[i] >= l) {
            cout << s.substr(0, i) << endl;
            return 0;
        }
    }
    cout << s << endl;

    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
acbacbac

correct output
acb

user output
acb

Test 2

Verdict: ACCEPTED

input
a

correct output
a

user output
a

Test 3

Verdict: ACCEPTED

input
z

correct output
z

user output
z

Test 4

Verdict: ACCEPTED

input
aa

correct output
a

user output
a

Test 5

Verdict: ACCEPTED

input
az

correct output
az

user output
az

Test 6

Verdict: ACCEPTED

input
aba

correct output
ab

user output
ab

Test 7

Verdict: ACCEPTED

input
abab

correct output
ab

user output
ab

Test 8

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
a

user output
(empty)

Test 9

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
(empty)

Test 10

Verdict:

input
ababababababababababababababab...

correct output
ab

user output
(empty)

Test 11

Verdict: ACCEPTED

input
tgainzxtgainzxtgainzxtgainzxtg...

correct output
tgainzx

user output
tgainzx

Test 12

Verdict: ACCEPTED

input
qmuflfcbqweunsjsodgspftyvikiwk...

correct output
qmuflfcbqweunsjsodgspftyvikiwk...

user output
qmuflfcbqweunsjsodgspftyvikiwk...

Test 13

Verdict: ACCEPTED

input
ohbsbconrkytyhtmibzrwwqdsqojoe...

correct output
ohbsbconrkytyhtmibzrwwqdsqojoe...

user output
ohbsbconrkytyhtmibzrwwqdsqojoe...
Truncated

Test 14

Verdict: ACCEPTED

input
hxkuxccasglgpvnfnhdoqelpvxughq...

correct output
hxkuxccasglgpvnfnhdoqelpvxughq...

user output
hxkuxccasglgpvnfnhdoqelpvxughq...
Truncated

Test 15

Verdict: ACCEPTED

input
mhwvddomkxrzuziwbfoaqxzjmfevla...

correct output
mhwvddomkxrzuziwbfoaqxzjmfevla...

user output
mhwvddomkxrzuziwbfoaqxzjmfevla...
Truncated

Test 16

Verdict: ACCEPTED

input
gnruvsfdjemxstfuysiqkrtwbgtono...

correct output
gnruvsfdjemxstfuysiqkrtwbgtono...

user output
gnruvsfdjemxstfuysiqkrtwbgtono...
Truncated

Test 17

Verdict: ACCEPTED

input
xqiwjzftugyurtwsziffnqaeozescu...

correct output
xqiwjzftugyurtwsziffnqaeozescu...

user output
xqiwjzftugyurtwsziffnqaeozescu...
Truncated

Test 18

Verdict: ACCEPTED

input
vgygtamnegxyxvjbuceoliipbkggyw...

correct output
vgygtamnegxyxvjbuceoliipbkggyw...

user output
vgygtamnegxyxvjbuceoliipbkggyw...
Truncated

Test 19

Verdict: ACCEPTED

input
qvjhmaafzlugwwaygdojysrjoydnnj...

correct output
qvjhmaafzlugwwaygdojysrjoydnnj...

user output
qvjhmaafzlugwwaygdojysrjoydnnj...
Truncated

Test 20

Verdict: ACCEPTED

input
tusmizkjfdazyohorfcumwmalodvnc...

correct output
tusmizkjfdazyohorfcumwmalodvnc...

user output
tusmizkjfdazyohorfcumwmalodvnc...
Truncated

Test 21

Verdict: ACCEPTED

input
zqikxaoeizncpvlpcvomrdkstackqq...

correct output
zqikxaoeizncpvlpcvomrdkstackqq...

user output
zqikxaoeizncpvlpcvomrdkstackqq...
Truncated