Task: | Ositus |
Sender: | Matenstein |
Submission time: | 2021-10-05 19:43:26 +0300 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#3 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
#4 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
#5 | WRONG ANSWER | 0.01 s | 2, 3 | details |
#6 | WRONG ANSWER | 0.02 s | 3 | details |
#7 | TIME LIMIT EXCEEDED | -- | 3 | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:19:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int a = 0; a < input.size(); a++) ~~^~~~~~~~~~~~~~ input/code.cpp:22:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int b = 0; b < seen.size() - 1; b++)if (input[a] == seen[b]) ~~^~~~~~~~~~~~~~~~~ input/code.cpp:45:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (a == input.size() - 1 && current != a) ~~^~~~~~~~~~~~~~~~~~~ input/code.cpp:52:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int a = 0; a < parts.size(); a++) ~~^~~~~~~~~~~~~~
Code
#include <iostream>#include <string>#include <vector>using namespace std;struct partition{int start, end;};long long maxi = 1;int main(){string input;cin >> input;int current = 0;vector<char>seen; vector<partition>parts;for (int a = 0; a < input.size(); a++){seen.push_back(input[a]);for (int b = 0; b < seen.size() - 1; b++)if (input[a] == seen[b]){if (b == current){partition p;p.start = current, p.end = a;parts.push_back(p);current = a;seen[current] = '1';}else{partition p;p.start = current, p.end = b;parts.push_back(p);p.start = b, p.end = a;parts.push_back(p);seen[current] = '1';seen[b] = '1';current = a;}break;}if (a == input.size() - 1 && current != a){partition p;p.start = current, p.end = a;parts.push_back(p);}}for (int a = 0; a < parts.size(); a++){int n = parts[a].end - parts[a].start;long long multiplicant = 1;if (input[parts[a].start] == input[parts[a].end]) { if (n > 1) { for (int b = 0; b < n; b++)multiplicant *= 2; multiplicant--; } }else for (int b = 0; b < n; b++) { multiplicant *= 2; }maxi *= multiplicant;}long long modulo = 10;for (long long i = 0; i < 9; i++){modulo *= 10;}modulo += 7;cout << maxi % modulo << endl;}
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
a |
correct output |
---|
1 |
user output |
---|
1 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
abcdefghij |
correct output |
---|
512 |
user output |
---|
512 |
Test 3
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
abcabaacbc |
correct output |
---|
120 |
user output |
---|
141267 |
Test 4
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
aaxxxxxxaa |
correct output |
---|
4 |
user output |
---|
4590 |
Test 5
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
mfyzvoxmppoxcvktmcjkryyocfweub... |
correct output |
---|
643221148 |
user output |
---|
-4269084144 |
Test 6
Group: 3
Verdict: WRONG ANSWER
input |
---|
weinscqmmpgbrlboocvtbptgbahmwv... |
correct output |
---|
831644159 |
user output |
---|
0 |
Test 7
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
sxaoxcyrjoeieyinaqxwukgzdnhhsw... |
correct output |
---|
816016015 |
user output |
---|
(empty) |