| Task: | Rotations |
| Sender: | natalia |
| Submission time: | 2018-10-19 23:50:21 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.11 s | details |
| #2 | RUNTIME ERROR | 0.09 s | details |
| #3 | RUNTIME ERROR | 0.03 s | details |
| #4 | RUNTIME ERROR | 0.02 s | details |
| #5 | RUNTIME ERROR | 0.04 s | details |
| #6 | RUNTIME ERROR | 0.09 s | details |
| #7 | RUNTIME ERROR | 0.10 s | details |
| #8 | UNKNOWN | -- | details |
| #9 | UNKNOWN | -- | details |
| #10 | UNKNOWN | -- | details |
| #11 | UNKNOWN | -- | details |
| #12 | UNKNOWN | -- | details |
Code
#include <iostream>
#include <string>
#include <list>
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();
char min = str[*indices.begin()];
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){
indices.erase(it);
}
}
if(indices.size() == old_length){
result = i;
break;
}
if(indices.size() == 1){
result = *indices.begin();
break;
}
}
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: RUNTIME ERROR
| input |
|---|
| bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb... |
| correct output |
|---|
| abbbbbbbbbbbbbbbbbbbbbbbbbbbbb... |
| user output |
|---|
| (empty) |
Test 3
Verdict: RUNTIME ERROR
| input |
|---|
| jibanqfglkmsywdlqjquxxnqeyhbyu... |
| correct output |
|---|
| aaadptqmkuqxnvmojzhghqtfztbwsj... |
| user output |
|---|
| (empty) |
Test 4
Verdict: RUNTIME ERROR
| input |
|---|
| muykjgvsstkgydmumitbgvsbtgyvmv... |
| correct output |
|---|
| aaaeaeipiqglrtbzelgrqmrxqbnjke... |
| user output |
|---|
| (empty) |
Test 5
Verdict: RUNTIME ERROR
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| user output |
|---|
| (empty) |
Test 6
Verdict: RUNTIME ERROR
| input |
|---|
| aaaaaaaaabaaaaaaaaabaaaaaaaaab... |
| correct output |
|---|
| aaaaaaaaabaaaaaaaaabaaaaaaaaab... |
| user output |
|---|
| (empty) |
Test 7
Verdict: RUNTIME ERROR
| input |
|---|
| jtcbpjizbiauauipwsdteaisynwesj... |
| correct output |
|---|
| aisynwesjvtvgghnbqyqprwpfqayzl... |
| user output |
|---|
| (empty) |
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) |
