Task: | Rotations |
Sender: | siiruli-admin |
Submission time: | 2018-10-13 13:42:19 +0300 |
Language: | C++ |
Status: | READY |
Result: | RUNTIME ERROR |
test | verdict | time | |
---|---|---|---|
#1 | RUNTIME ERROR | 0.07 s | details |
#2 | RUNTIME ERROR | 0.06 s | details |
#3 | RUNTIME ERROR | 0.30 s | details |
#4 | RUNTIME ERROR | 0.31 s | details |
#5 | RUNTIME ERROR | 0.27 s | details |
#6 | RUNTIME ERROR | 0.08 s | details |
#7 | RUNTIME ERROR | 0.07 s | details |
#8 | UNKNOWN | -- | details |
#9 | UNKNOWN | -- | details |
#10 | UNKNOWN | -- | details |
#11 | UNKNOWN | -- | details |
#12 | UNKNOWN | -- | details |
Code
#include <bits/stdc++.h> #include <fstream> using namespace std; #define PB push_back #define N (1<<20) #define QAQ {cout << "0";return 0; } typedef long long ll; const ll inf = 1000000007; int t[N][20], z; int f(int a, int b){ int V = 0; //cout << "\n" << a << " " << b<< ": \n"; for(int k=z; k>=0; --k){ // cout << t[a][k] << " " << t[b][k] << ", "; if(t[a][k] != t[b][k]) continue; V += (1<<k); a += (1<<k), b+= (1<<k); } return V; } int main(){ ios::sync_with_stdio(0); cin.tie(0); string s; cin >> s; int n = s.size(); s = s + s + s; z = 1; while(z < n) z*=2; for(int i=0; i<3*n; ++i) t[i][0] = s[i]; for(int b=0; b<=z; ++b){ vector<pair<ll,ll>> v; for(int i=0; i<n; ++i){ v.PB({t[i][b] * inf + t[i+(1<<b)][b], i}); } sort(v.begin(), v.end()); ll c=0, prev=0; for(pair<ll, ll> p : v){ if(prev != p.first) prev = p.first, ++c; // cout << s.substr(p.second, (1<<(b+1))) << " " << c<< "\n"; t[p.second][b+1] = c; } } vector<pair<ll, ll>> v; for(int i=0; i<n; ++i){ v.PB({t[i][z], i}); } sort(v.begin(), v.end()); int V = v[0].second; for(int i=0; i<n; ++i) cout << s[V+i]; }
Test details
Test 1
Verdict: RUNTIME ERROR
input |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
correct output |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
user output |
---|
(empty) |
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) |