Submission details
Task:Period
Sender:kkivimaki
Submission time:2020-09-26 14:02:57 +0300
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#10.01 sdetails
#20.01 sdetails
#30.01 sdetails
#4ACCEPTED0.01 sdetails
#50.01 sdetails
#60.01 sdetails
#7ACCEPTED0.01 sdetails
#8--details
#9--details
#10--details
#110.91 sdetails
#120.09 sdetails
#130.02 sdetails
#140.01 sdetails
#150.01 sdetails
#160.01 sdetails
#170.01 sdetails
#180.01 sdetails
#190.01 sdetails
#200.01 sdetails
#210.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 = n - 1; i > 0; i--) {
        if (z[i]) {
            cout << s.substr(0, z[i]) << endl;
            return 0;
        }
    }

    return 0;
}

Test details

Test 1

Verdict:

input
acbacbac

correct output
acb

user output
ac

Test 2

Verdict:

input
a

correct output
a

user output
(empty)

Test 3

Verdict:

input
z

correct output
z

user output
(empty)

Test 4

Verdict: ACCEPTED

input
aa

correct output
a

user output
a

Test 5

Verdict:

input
az

correct output
az

user output
(empty)

Test 6

Verdict:

input
aba

correct output
ab

user output
a

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:

input
tgainzxtgainzxtgainzxtgainzxtg...

correct output
tgainzx

user output
tgain

Test 12

Verdict:

input
qmuflfcbqweunsjsodgspftyvikiwk...

correct output
qmuflfcbqweunsjsodgspftyvikiwk...

user output
q

Test 13

Verdict:

input
ohbsbconrkytyhtmibzrwwqdsqojoe...

correct output
ohbsbconrkytyhtmibzrwwqdsqojoe...

user output
o

Test 14

Verdict:

input
hxkuxccasglgpvnfnhdoqelpvxughq...

correct output
hxkuxccasglgpvnfnhdoqelpvxughq...

user output
h

Test 15

Verdict:

input
mhwvddomkxrzuziwbfoaqxzjmfevla...

correct output
mhwvddomkxrzuziwbfoaqxzjmfevla...

user output
mh

Test 16

Verdict:

input
gnruvsfdjemxstfuysiqkrtwbgtono...

correct output
gnruvsfdjemxstfuysiqkrtwbgtono...

user output
g

Test 17

Verdict:

input
xqiwjzftugyurtwsziffnqaeozescu...

correct output
xqiwjzftugyurtwsziffnqaeozescu...

user output
x

Test 18

Verdict:

input
vgygtamnegxyxvjbuceoliipbkggyw...

correct output
vgygtamnegxyxvjbuceoliipbkggyw...

user output
v

Test 19

Verdict:

input
qvjhmaafzlugwwaygdojysrjoydnnj...

correct output
qvjhmaafzlugwwaygdojysrjoydnnj...

user output
q

Test 20

Verdict:

input
tusmizkjfdazyohorfcumwmalodvnc...

correct output
tusmizkjfdazyohorfcumwmalodvnc...

user output
t

Test 21

Verdict:

input
zqikxaoeizncpvlpcvomrdkstackqq...

correct output
zqikxaoeizncpvlpcvomrdkstackqq...

user output
z