CSES - E4590 2018 5 - Results
Submission details
Task:Rotations
Sender:natalia
Submission time:2018-10-19 20:29:20 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1--details
#2--details
#3ACCEPTED0.03 sdetails
#4ACCEPTED0.02 sdetails
#5ACCEPTED0.03 sdetails
#6--details
#7ACCEPTED0.48 sdetails
#8UNKNOWN--details
#9UNKNOWN--details
#10UNKNOWN--details
#11UNKNOWN--details
#12UNKNOWN--details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:12:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 1; i < length; i++){
                 ~~^~~~~~~~

Code

#include <iostream>
#include <string>

int main(){
	std::string str;
	std::cin >> str;

	unsigned int length = str.length();

	unsigned int ind = 0;

	for(int i = 1; i < length; i++){
		unsigned int len = length - i;
		//std::cout << "len=" << len << "\n";

		int result = str.compare(ind, len, str, i, len);

		if(result > 0){
			ind = i;
		}

		if(result == 0){
			unsigned int new_len = length - ind - len;
			//std::cout << "new_len=" << new_len << " (ind + len)=" << (ind + len)  << "\n";

			result = str.compare(ind + len, new_len, str, 0, new_len);

			if(result > 0){
				ind = i;
			}

			if(result == 0){
				unsigned int newest_len = ind - new_len;
				//std::cout << "newest_len=" << newest_len << " (ind + len)=" << (ind + len)  << "\n";
				// 0, newest_len

				result = str.compare(0, newest_len, str, new_len, newest_len);
				if(result > 0){
					ind = i;
				}
			}

		}
	}

	//std::cout << "ind=" << ind << "\n";
	std::cout << str.substr(ind) << str.substr(0, ind) << "\n";


	return 0;
}

Test details

Test 1

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
(empty)

Test 2

Verdict:

input
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

correct output
abbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

user output
(empty)

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:

input
aaaaaaaaabaaaaaaaaabaaaaaaaaab...

correct output
aaaaaaaaabaaaaaaaaabaaaaaaaaab...

user output
(empty)

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)