| Task: | Kolikot |
| Sender: | Nanohenry |
| Submission time: | 2018-10-05 19:58:56 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.01 s | 1 | details |
| #2 | WRONG ANSWER | 0.01 s | 1 | details |
| #3 | WRONG ANSWER | 0.01 s | 1 | details |
| #4 | WRONG ANSWER | 0.01 s | 1 | details |
| #5 | WRONG ANSWER | 0.01 s | 1 | details |
| #6 | WRONG ANSWER | 0.02 s | 1 | details |
| #7 | WRONG ANSWER | 0.01 s | 1 | details |
| #8 | WRONG ANSWER | 0.01 s | 1 | details |
| #9 | WRONG ANSWER | 0.02 s | 1 | details |
| #10 | WRONG ANSWER | 0.02 s | 1 | details |
| #11 | WRONG ANSWER | 0.02 s | 2 | details |
| #12 | WRONG ANSWER | 0.02 s | 2 | details |
| #13 | WRONG ANSWER | 0.01 s | 2 | details |
| #14 | WRONG ANSWER | 0.02 s | 2 | details |
| #15 | WRONG ANSWER | 0.02 s | 2 | details |
| #16 | WRONG ANSWER | 0.02 s | 2 | details |
| #17 | WRONG ANSWER | 0.01 s | 2 | details |
| #18 | WRONG ANSWER | 0.01 s | 2 | details |
| #19 | WRONG ANSWER | 0.03 s | 2 | details |
| #20 | WRONG ANSWER | 0.01 s | 2 | details |
| #21 | WRONG ANSWER | 0.02 s | 3 | details |
| #22 | WRONG ANSWER | 0.02 s | 3 | details |
| #23 | WRONG ANSWER | 0.02 s | 3 | details |
| #24 | WRONG ANSWER | 0.01 s | 3 | details |
| #25 | WRONG ANSWER | 0.02 s | 3 | details |
| #26 | WRONG ANSWER | 0.01 s | 3 | details |
| #27 | WRONG ANSWER | 0.01 s | 3 | details |
| #28 | WRONG ANSWER | 0.01 s | 3 | details |
| #29 | WRONG ANSWER | 0.01 s | 3 | details |
| #30 | WRONG ANSWER | 0.01 s | 3 | details |
Compiler report
input/code.cpp: In function 'void search(std::__cxx11::string)':
input/code.cpp:16:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (x == t.size()) {
~~^~~~~~~~~~~
input/code.cpp:19:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (zi > 10 * t.size()) {
~~~^~~~~~~~~~~~~~~
input/code.cpp:25:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (long i = 0; i <= f.size() - s.size(); i++) {
~~^~~~~~~~~~~~~~~~~~~~~~
input/code.cpp:28:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (long j = 0; j < s.size(); j++) {
~~^~~~~~~~~~
input/code.cpp:34:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (c == s.size()) {
~~^~~~~~~~~~~
input/code.cpp:52:24: warn...Code
#include <iostream>
#include <string>
#include <vector>
#include <set>
using namespace std;
string t, s;
long z[100000];
long zi = 0;
set<char> tc, sc;
bool m;
long b, k, c, q, x;
void search(string f) {
if (x == t.size()) {
return;
}
if (zi > 10 * t.size()) {
m = 1;
return;
}
b = f.size() + 1;
k = -1;
for (long i = 0; i <= f.size() - s.size(); i++) {
c = 0;
q = 0;
for (long j = 0; j < s.size(); j++) {
if (f[i + j] == s[j] || f[i + j] == '?') {
if (f[i + j] == '?') {
q++;
}
c++;
if (c == s.size()) {
if (q < b) {
b = q;
k = i;
}
c = 0;
q = 0;
}
} else {
c = 0;
q = 0;
}
}
}
if (k == -1) {
m = 1;
return;
}
for (long r = k; r < k + s.size(); r++) {
if (f[r] != '?') {
x++;
}
f[r] = '?';
}
z[zi++] = k;
search(f);
}
int main() {
cin >> t >> s;
if (t == s) {
cout << "1\n1\n";
return 0;
}
for (long i = 0; i < s.size(); i++) { // first do "some" checks
sc.insert(s[i]);
}
for (long i = 0; i < t.size(); i++) {
tc.insert(t[i]);
}
if (s.size() > t.size() || s[0] != t[0] || s[s.size() - 1] != t[t.size() - 1]) {
m = 1;
}
if (tc.size() != sc.size()) {
m = 1;
}
if (!m && tc.size() == 1 && sc.size() == 1) {
if (s.size() == 1) {
cout << t.size() / s.size() << '\n';
for (long i = 1; i <= t.size() / s.size(); i++) {
cout << i << ' ';
}
cout << '\n';
} else {
cout << t.size() / s.size() << '\n';
for (long i = 0; i <= t.size() - s.size(); i += s.size()) {
cout << i + 1 << ' ';
}
if (t.size() % s.size() != 0) {
cout << t.size() - s.size() + 1;
}
cout << '\n';
}
} else {
if (!m) {
search(t);
}
if (m) {
cout << "-1\n";
} else {
cout << zi << '\n';
for (long i = zi - 1; i >= 0; i--) {
cout << z[i] + 1 << ' ';
}
cout << '\n';
}
}
//system("pause");
}Test details
Test 1
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1 |
| correct output |
|---|
| 1 1 |
| user output |
|---|
| -1 |
Test 2
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 2 |
| correct output |
|---|
| 1 2 |
| user output |
|---|
| -1 |
Test 3
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 3 |
| correct output |
|---|
| 2 1 2 |
| user output |
|---|
| -1 |
Test 4
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 4 |
| correct output |
|---|
| 2 1 3 |
| user output |
|---|
| -1 |
Test 5
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 5 |
| correct output |
|---|
| 2 1 4 |
| user output |
|---|
| -1 |
Test 6
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 |
| correct output |
|---|
| 3 1 2 3 |
| user output |
|---|
| -1 |
Test 7
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 7 |
| correct output |
|---|
| 3 1 2 4 |
| user output |
|---|
| -1 |
Test 8
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 8 |
| correct output |
|---|
| 3 1 2 5 |
| user output |
|---|
| -1 |
Test 9
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 9 |
| correct output |
|---|
| 3 1 2 6 |
| user output |
|---|
| -1 |
Test 10
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 10 |
| correct output |
|---|
| 4 1 2 3 4 |
| user output |
|---|
| -1 |
Test 11
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 11 |
| correct output |
|---|
| 4 1 2 3 5 |
| user output |
|---|
| -1 |
Test 12
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 54 |
| correct output |
|---|
| 9 1 2 3 4 5 6 7 8 18 |
| user output |
|---|
| -1 |
Test 13
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 55 |
| correct output |
|---|
| 10 1 2 3 4 5 6 7 8 9 10 |
| user output |
|---|
| -1 |
Test 14
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 56 |
| correct output |
|---|
| 10 1 2 3 4 5 6 7 8 9 11 |
| user output |
|---|
| -1 |
Test 15
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 123 |
| correct output |
|---|
| 15 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 16
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 819 |
| correct output |
|---|
| 39 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 17
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 820 |
| correct output |
|---|
| 40 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 18
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 821 |
| correct output |
|---|
| 40 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 19
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 999 |
| correct output |
|---|
| 44 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 20
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 1000 |
| correct output |
|---|
| 44 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 21
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1274 |
| correct output |
|---|
| 49 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 22
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1275 |
| correct output |
|---|
| 50 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 23
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1276 |
| correct output |
|---|
| 50 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 24
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 12345 |
| correct output |
|---|
| 156 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 25
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 123456 |
| correct output |
|---|
| 496 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 26
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 10000000 |
| correct output |
|---|
| 4471 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 27
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 100000000 |
| correct output |
|---|
| 14141 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 28
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 500000000 |
| correct output |
|---|
| 31622 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 29
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 999999999 |
| correct output |
|---|
| 44720 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
Test 30
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1000000000 |
| correct output |
|---|
| 44720 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
| user output |
|---|
| -1 |
