CSES - E4590 2018 5 - Results
Submission details
Task:Rotations
Sender:Pohjantahti
Submission time:2018-10-13 13:48:59 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#2ACCEPTED0.06 sdetails
#3ACCEPTED0.02 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.02 sdetails
#6ACCEPTED0.06 sdetails
#7ACCEPTED0.06 sdetails
#8UNKNOWN--details
#9UNKNOWN--details
#10UNKNOWN--details
#11UNKNOWN--details
#12UNKNOWN--details

Code

#include <iostream>

using namespace std;

int n;
string s;

int gmini() {
	int i = 0;
	int j = 1;
	int k = 0;
	while (j < n) {
		for (k = 0; k < n && s[(i+k)%n] == s[(j+k)%n]; ++k);
		if (s[(i+k)%n] <= s[(j+k)%n]) {
			j += k+1;
		}
		else {
			i += k+1;
			if (i < j) {
				i = j++;
			}
			else {
				j = i+1;
			}
		}
	}
	return i;
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cin >> s;
	n = s.length();
	int sti = gmini();
	s += s;
	for (int i = sti; i < sti+n; ++i) {
		cout << s[i];
	}
	cout << "\n";
	return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 2

Verdict: ACCEPTED

input
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

correct output
abbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

user output
abbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

Test 3

Verdict: ACCEPTED

input
jibanqfglkmsywdlqjquxxnqeyhbyu...

correct output
aaadptqmkuqxnvmojzhghqtfztbwsj...

user output
aaadptqmkuqxnvmojzhghqtfztbwsj...

Test 4

Verdict: ACCEPTED

input
muykjgvsstkgydmumitbgvsbtgyvmv...

correct output
aaaeaeipiqglrtbzelgrqmrxqbnjke...

user output
aaaeaeipiqglrtbzelgrqmrxqbnjke...

Test 5

Verdict: ACCEPTED

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 6

Verdict: ACCEPTED

input
aaaaaaaaabaaaaaaaaabaaaaaaaaab...

correct output
aaaaaaaaabaaaaaaaaabaaaaaaaaab...

user output
aaaaaaaaabaaaaaaaaabaaaaaaaaab...

Test 7

Verdict: ACCEPTED

input
jtcbpjizbiauauipwsdteaisynwesj...

correct output
aisynwesjvtvgghnbqyqprwpfqayzl...

user output
aisynwesjvtvgghnbqyqprwpfqayzl...

Test 8

Verdict: UNKNOWN

input
a

correct output
a

user output
(not available)

Test 9

Verdict: UNKNOWN

input
ab

correct output
ab

user output
(not available)

Test 10

Verdict: UNKNOWN

input
ba

correct output
ab

user output
(not available)

Test 11

Verdict: UNKNOWN

input
home

correct output
ehom

user output
(not available)

Test 12

Verdict: UNKNOWN

input
baaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
(not available)