Task: | Rotations |
Sender: | kkivimaki |
Submission time: | 2020-09-26 15:55:55 +0300 |
Language: | C++ (C++11) |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.08 s | details |
#2 | WRONG ANSWER | 0.08 s | details |
#3 | WRONG ANSWER | 0.01 s | details |
#4 | WRONG ANSWER | 0.01 s | details |
#5 | WRONG ANSWER | 0.01 s | details |
#6 | ACCEPTED | 0.08 s | details |
#7 | WRONG ANSWER | 0.08 s | details |
#8 | ACCEPTED | 0.01 s | details |
#9 | ACCEPTED | 0.01 s | details |
#10 | ACCEPTED | 0.01 s | details |
#11 | ACCEPTED | 0.01 s | details |
#12 | WRONG ANSWER | 0.08 s | details |
Compiler report
input/code.cpp: In function 'bool better(std::__cxx11::string, int, int)': input/code.cpp:25:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(k < s.size() && s[(i + k) % s.size()] == s[(j + k) % s.size()]) k++; ~~^~~~~~~~~~ input/code.cpp: In function 'int gen(int*, std::__cxx11::string)': input/code.cpp:38:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < s.size(); i++) { ~~^~~~~~~~~~ input/code.cpp:31:9: warning: unused variable 'n' [-Wunused-variable] int n = s.size(); ^ input/code.cpp: In function 'int main()': input/code.cpp:62:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 1; i < s.size(); i++) ~~^~~~~~~~~~ input/code.cpp:72:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 1; i < s....
Code
#include <vector> #include <iostream> #include <string> using namespace std; int sum(int *d) { int s = 0; for(int i = 0; i < 20; i++) s+= d[i]; return s; } void print(string s, int a) { int n = s.size(); for(int i = a; i < n; i++) cout << s[i]; for(int i = 0; i < a; i++) cout << s[i]; cout << endl; } bool better(string s, int i, int j) { int k = 0; while(k < s.size() && s[(i + k) % s.size()] == s[(j + k) % s.size()]) k++; return s[i] < s[j]; } int gen(int *a, string s) { int min = 1 << 30; int n = s.size(); int d[10]; int t = 1; for(int i = 0; i < 10; i++) { d[9 - i] = s[9 - i]*t; t *= 10; } for(int i = 0; i < s.size(); i++) { int m = sum(d); a[i] = m; if(m < min) min = m; for(int j = 0; j < 9; j++) { d[j] = d[j + 1]*10; } d[9] = s[i + 10]; } return min; } int main() { string s; cin >> s; int n = s.size(); if (n < 100) { int b = 0; for(int i = 1; i < s.size(); i++) if(better(s, i, b)) b = i; print(s, b); return 0; } int *hs = new int[s.size()]; int m = gen(hs, s); int b = 0; for(int i = 1; i < s.size(); i++) { if(hs[i] != m) continue; if(better(s, i, b)) b = i; } print(s, b); return 0; return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
correct output |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
user output |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... Truncated |
Test 2
Verdict: WRONG ANSWER
input |
---|
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb... |
correct output |
---|
abbbbbbbbbbbbbbbbbbbbbbbbbbbbb... |
user output |
---|
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb... Truncated |
Test 3
Verdict: WRONG ANSWER
input |
---|
jibanqfglkmsywdlqjquxxnqeyhbyu... |
correct output |
---|
aaadptqmkuqxnvmojzhghqtfztbwsj... |
user output |
---|
jibanqfglkmsywdlqjquxxnqeyhbyu... Truncated |
Test 4
Verdict: WRONG ANSWER
input |
---|
muykjgvsstkgydmumitbgvsbtgyvmv... |
correct output |
---|
aaaeaeipiqglrtbzelgrqmrxqbnjke... |
user output |
---|
ctotandnlwootbuldrbpkfhmxqkjsl... Truncated |
Test 5
Verdict: WRONG ANSWER
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: WRONG ANSWER
input |
---|
jtcbpjizbiauauipwsdteaisynwesj... |
correct output |
---|
aisynwesjvtvgghnbqyqprwpfqayzl... |
user output |
---|
jtcbpjizbiauauipwsdteaisynwesj... Truncated |
Test 8
Verdict: ACCEPTED
input |
---|
a |
correct output |
---|
a |
user output |
---|
a |
Test 9
Verdict: ACCEPTED
input |
---|
ab |
correct output |
---|
ab |
user output |
---|
ab |
Test 10
Verdict: ACCEPTED
input |
---|
ba |
correct output |
---|
ab |
user output |
---|
ab |
Test 11
Verdict: ACCEPTED
input |
---|
home |
correct output |
---|
ehom |
user output |
---|
ehom |
Test 12
Verdict: WRONG ANSWER
input |
---|
baaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
correct output |
---|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
user output |
---|
baaaaaaaaaaaaaaaaaaaaaaaaaaaaa... Truncated |