| Task: | Rotations |
| Sender: | natalia |
| Submission time: | 2018-10-20 00:05:26 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | TIME LIMIT EXCEEDED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.16 s | details |
| #2 | ACCEPTED | 0.11 s | details |
| #3 | ACCEPTED | 0.04 s | details |
| #4 | ACCEPTED | 0.03 s | details |
| #5 | TIME LIMIT EXCEEDED | -- | details |
| #6 | WRONG ANSWER | 0.37 s | details |
| #7 | WRONG ANSWER | 0.11 s | details |
| #8 | UNKNOWN | -- | details |
| #9 | UNKNOWN | -- | details |
| #10 | UNKNOWN | -- | details |
| #11 | UNKNOWN | -- | details |
| #12 | UNKNOWN | -- | details |
Code
#include <stdlib.h>
#include <iostream>
#include <string>
#include <list>
#include <iterator>
int main(){
std::string str;
std::cin >> str;
unsigned int length = str.length();
unsigned int result = 0;
std::list<unsigned int> indices;
for(unsigned int i = 0; i < length; i++){
indices.push_back(i);
}
for(unsigned int i = 0; i < length; i++){
unsigned int old_length = indices.size();
std::list<unsigned int> new_indices;
char min = str[*indices.begin() + i];
for (std::list<unsigned int>::iterator it = indices.begin(); it != indices.end(); ++it){
if(str[(*it + i) % length] < min){
min = str[(*it + i) % length];
}
}
for (std::list<unsigned int>::iterator it = indices.begin(); it != indices.end(); ++it){
if(str[(*it + i) % length] == min){
new_indices.push_back(*it);
}
}
if(new_indices.size() == old_length){
result = i;
break;
}
if(new_indices.size() == 1){
result = *new_indices.begin();
break;
}
indices = new_indices;
}
std::cout << str.substr(result) << str.substr(0, result) << "\n";
return 0;
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| user output |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... Truncated |
Test 2
Verdict: ACCEPTED
| input |
|---|
| bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb... |
| correct output |
|---|
| abbbbbbbbbbbbbbbbbbbbbbbbbbbbb... |
| user output |
|---|
| abbbbbbbbbbbbbbbbbbbbbbbbbbbbb... Truncated |
Test 3
Verdict: ACCEPTED
| input |
|---|
| jibanqfglkmsywdlqjquxxnqeyhbyu... |
| correct output |
|---|
| aaadptqmkuqxnvmojzhghqtfztbwsj... |
| user output |
|---|
| aaadptqmkuqxnvmojzhghqtfztbwsj... Truncated |
Test 4
Verdict: ACCEPTED
| input |
|---|
| muykjgvsstkgydmumitbgvsbtgyvmv... |
| correct output |
|---|
| aaaeaeipiqglrtbzelgrqmrxqbnjke... |
| user output |
|---|
| aaaeaeipiqglrtbzelgrqmrxqbnjke... Truncated |
Test 5
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| user output |
|---|
| (empty) |
Test 6
Verdict: WRONG ANSWER
| input |
|---|
| aaaaaaaaabaaaaaaaaabaaaaaaaaab... |
| correct output |
|---|
| aaaaaaaaabaaaaaaaaabaaaaaaaaab... |
| user output |
|---|
| baaaaaaaaabaaaaaaaaabaaaaaaaaa... Truncated |
Test 7
Verdict: WRONG ANSWER
| input |
|---|
| jtcbpjizbiauauipwsdteaisynwesj... |
| correct output |
|---|
| aisynwesjvtvgghnbqyqprwpfqayzl... |
| user output |
|---|
| cbpjizbiauauipwsdteaisynwesjvt... Truncated |
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) |
