| Task: | Rotations |
| Sender: | eax511 |
| Submission time: | 2016-10-22 13:55:32 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.12 s | details |
| #2 | ACCEPTED | 0.11 s | details |
| #3 | ACCEPTED | 0.06 s | details |
| #4 | ACCEPTED | 0.04 s | details |
| #5 | ACCEPTED | 0.06 s | details |
| #6 | ACCEPTED | 0.10 s | details |
| #7 | ACCEPTED | 0.10 s | details |
| #8 | UNKNOWN | -- | details |
| #9 | UNKNOWN | -- | details |
| #10 | UNKNOWN | -- | details |
| #11 | UNKNOWN | -- | details |
| #12 | UNKNOWN | -- | details |
Compiler report
input/code.cpp: In function 'int LSC(std::string&)':
input/code.cpp:9:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int j=1;j<s.size();++j){
^Code
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int LSC(std::string& s){
s+=s;
vector<int> f(s.size(),-1);
int k=0;
for(int j=1;j<s.size();++j){
int i=f[j-k-1];
while(i!=-1 && s[j]!=s[k+i+1]){
if(s[j] < s[k+i+1]) k=j-i-1;
i = f[i];
}
if(i==-1 && s[j] != s[k+i+1]){
if(s[j] < s[k+i+1]) k=j;
f[j-k]=-1;
}
else f[j-k]=i+1;
}
return k;
}
int main(){
string s;
cin>>s;
int n=s.size();
int k=LSC(s);
cout<<s.substr(k,n)<<'\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: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| user output |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... Truncated |
Test 6
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaabaaaaaaaaabaaaaaaaaab... |
| correct output |
|---|
| aaaaaaaaabaaaaaaaaabaaaaaaaaab... |
| user output |
|---|
| aaaaaaaaabaaaaaaaaabaaaaaaaaab... Truncated |
Test 7
Verdict: ACCEPTED
| input |
|---|
| jtcbpjizbiauauipwsdteaisynwesj... |
| correct output |
|---|
| aisynwesjvtvgghnbqyqprwpfqayzl... |
| user output |
|---|
| aisynwesjvtvgghnbqyqprwpfqayzl... 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) |
