Task: | Rotations |
Sender: | jong |
Submission time: | 2018-10-13 14:26:07 +0300 |
Language: | C++ |
Status: | READY |
Result: | TIME LIMIT EXCEEDED |
test | verdict | time | |
---|---|---|---|
#1 | TIME LIMIT EXCEEDED | -- | details |
#2 | ACCEPTED | 0.06 s | details |
#3 | ACCEPTED | 0.02 s | details |
#4 | ACCEPTED | 0.02 s | details |
#5 | ACCEPTED | 0.65 s | details |
#6 | TIME LIMIT EXCEEDED | -- | details |
#7 | TIME LIMIT EXCEEDED | -- | details |
#8 | UNKNOWN | -- | details |
#9 | UNKNOWN | -- | details |
#10 | UNKNOWN | -- | details |
#11 | UNKNOWN | -- | details |
#12 | UNKNOWN | -- | details |
Code
#include <iostream> using namespace std; int main() { string s; cin >> s; int n = s.length(); char min = -1; /*for (int i=0; i<n; ++i) if (min == -1 || s[i] < min) min = s[i];*/ int level = 0; int left = n; int arr[n]; for(int i=0; i<n; ++i) arr[i] = i; int arr_it = 0; while (left > 1 && level<(n+1)/2) { min = -1; arr_it = 0; for (int i=0; i<left; ++i) { if (min == -1 || s[(arr[i]+level) % n] < min) { min = s[(arr[i]+level) % n]; } } for (int i=0; i<left; ++i) { if (s[(arr[i]+level) % n] == min) { arr[arr_it] = arr[i]; ++arr_it; } } left = arr_it; ++level; } /*cout << arr[0] << "\n"; for (int i=0;i<n;++i) cout << arr[i] << " "; cout << "\n";*/ /*for (int i=0; i<n; ++i) cout << s[(arr[0] + i) % n]; cout << "\n";*/ cout << s.substr(arr[0], n-arr[0]) << s.substr(0,arr[0]) << "\n"; }
Test details
Test 1
Verdict: TIME LIMIT EXCEEDED
input |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
correct output |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
user output |
---|
(empty) |
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: TIME LIMIT EXCEEDED
input |
---|
aaaaaaaaabaaaaaaaaabaaaaaaaaab... |
correct output |
---|
aaaaaaaaabaaaaaaaaabaaaaaaaaab... |
user output |
---|
(empty) |
Test 7
Verdict: TIME LIMIT EXCEEDED
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) |