| Task: | Leimasin | 
| Sender: | N00B.exe | 
| Submission time: | 2018-10-08 19:35:33 +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.02 s | 1 | details | 
| #2 | WRONG ANSWER | 0.03 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.02 s | 1 | details | 
| #8 | WRONG ANSWER | 0.01 s | 1 | details | 
| #9 | WRONG ANSWER | 0.02 s | 1 | details | 
| #10 | WRONG ANSWER | 0.01 s | 1 | details | 
| #11 | ACCEPTED | 0.02 s | 1 | details | 
| #12 | ACCEPTED | 0.01 s | 1 | details | 
| #13 | WRONG ANSWER | 0.01 s | 1 | details | 
| #14 | ACCEPTED | 0.02 s | 1 | details | 
| #15 | WRONG ANSWER | 0.01 s | 2 | details | 
| #16 | WRONG ANSWER | 0.03 s | 2 | details | 
| #17 | WRONG ANSWER | 0.03 s | 2 | details | 
| #18 | WRONG ANSWER | 0.01 s | 2 | details | 
| #19 | WRONG ANSWER | 0.01 s | 2 | details | 
| #20 | WRONG ANSWER | 0.01 s | 2 | details | 
| #21 | WRONG ANSWER | 0.02 s | 2 | details | 
| #22 | WRONG ANSWER | 0.01 s | 2 | details | 
| #23 | WRONG ANSWER | 0.01 s | 2 | details | 
| #24 | WRONG ANSWER | 0.02 s | 2 | details | 
| #25 | ACCEPTED | 0.01 s | 2 | details | 
| #26 | ACCEPTED | 0.01 s | 2 | details | 
| #27 | WRONG ANSWER | 0.02 s | 2 | details | 
| #28 | ACCEPTED | 0.01 s | 2 | details | 
| #29 | WRONG ANSWER | 0.03 s | 3 | details | 
| #30 | WRONG ANSWER | 0.01 s | 3 | details | 
| #31 | WRONG ANSWER | 0.03 s | 3 | details | 
| #32 | WRONG ANSWER | 0.02 s | 3 | details | 
| #33 | WRONG ANSWER | 0.02 s | 3 | details | 
| #34 | WRONG ANSWER | 0.02 s | 3 | details | 
| #35 | WRONG ANSWER | 0.02 s | 3 | details | 
| #36 | WRONG ANSWER | 0.03 s | 3 | details | 
| #37 | WRONG ANSWER | 0.02 s | 3 | details | 
| #38 | WRONG ANSWER | 0.02 s | 3 | details | 
| #39 | ACCEPTED | 0.03 s | 3 | details | 
| #40 | ACCEPTED | 0.02 s | 3 | details | 
| #41 | WRONG ANSWER | 0.03 s | 3 | details | 
| #42 | ACCEPTED | 0.01 s | 3 | details | 
Code
#include <iostream>
#include <string>
using namespace std;
bool CheckString(char* s, int count) {
	bool b = true;
	for(int i = count - 1; i > -1; i--)
	{
		b = (*(s + i) == '?');
		if (!b)
		{ break; }
	}
	return b;
}
int Find(char* target, char* main, int targetSize, int mainSize) {
	bool b = false;
	bool qCheck;
	for (int i = 0; i < mainSize; i++)
	{
		b = true;
		for (int k = 0; k < targetSize; k++)
		{
			if (i + targetSize - 1 >= mainSize)
			{ b = false; i = mainSize; break; }
			b = (*(main + i + k) == *(target + k));
			if (!b)
			{ break; }
		}
		if (b)
		{ return i; }
	}
	for(int i = 0; i < mainSize; i++)
	{
		b = true;
		qCheck = false;
		for(int k = 0; k < targetSize; k++)
		{
			if (i + targetSize - 1 >= mainSize)
			{ return -1; }
			b = (*(main + i + k) == *(target + k));
			
			if(!qCheck)
			{ qCheck = (*(main + i + k) != '?'); }
			if(!b)
			{ b = (*(main + i + k) == '?'); }
			if(!b)
			{ break; }
		}
		if(b && qCheck)
		{ return i; }
	}
	return -1;
}
void Remove(char* target, int index, int count) {
	
	if(index == -1)
	{ return; }
	for(int i = index; i < index + count; i++)
	{ *(target + i) = '?'; }
}
void Stamp(char* target, char* stamp, int index, int count) {
	if(index == -1)
	{ return; }
	for(int i = index; i < index + count; i++)
	{ *(target + i) = *(stamp + i - index); }
}
void PrintC(char* c, int count) {
	
	for(int i = 0; i < count; i++)
	{ printf("%c", *(c + i)); }
}
int main()
{
	string target;
	string stamper;
	cin >> target >> stamper;
	int stamperSize = stamper.size();
	int targetSize = target.size();
	if(stamperSize > targetSize)
	{
		printf("-1");
		return 0;
	}
	char* targetC = (char*)malloc(targetSize);
	char * stamperC = (char*)malloc(stamperSize);
	for(int i = 0; i < targetSize; i++)
	{ *(targetC + i) = target[i]; }
	for (int i = 0; i < stamperSize; i++)
	{ *(stamperC + i) = stamper[i]; }
	int maxMoves = 4 * 10 * targetSize;
	int* moves = (int*)malloc(maxMoves);
	int totalMoves = 0;
	int index = 0;
	for(int i = 0; i < maxMoves; i++)
	{
		index = Find(stamperC, targetC, stamperSize, targetSize);
		if(index == -1)
		{
			printf("-1");
			return 0;
		}
		Remove(targetC, index, stamperSize);
		*(moves + totalMoves) = index;
		totalMoves++;
		if(CheckString(targetC, targetSize))
		{ break; }
	}
	printf("\n");
	
	printf("%d\n", totalMoves);
	for(int i = totalMoves - 1; i > -1; i--)
	{
		printf("%d", *(moves + i));
		if(i != 0)
		{ printf(" "); }
	}
	free(moves);
	free(targetC);
	free(stamperC);
	return 0;
}Test details
Test 1
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| BBBBBBBBBB B | 
| correct output | 
|---|
| 10 10 9 8 7 6 5 4 3 2 1 | 
| user output | 
|---|
| 10 9 8 7 6 5 4 3 2 1 0 | 
Test 2
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| AABBABABAB AB | 
| correct output | 
|---|
| 6 1 9 7 5 3 2 | 
| user output | 
|---|
| 6 2 0 8 6 4 1 | 
Test 3
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| AABAAABAAA AABAA | 
| correct output | 
|---|
| 4 6 5 2 1 | 
| user output | 
|---|
| 4 5 4 1 0 | 
Test 4
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| BAAAAAABBB BAAAAAABB | 
| correct output | 
|---|
| 2 2 1 | 
| user output | 
|---|
| 2 1 0 | 
Test 5
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| AAABBABBAA AAABBABBAA | 
| correct output | 
|---|
| 1 1 | 
| user output | 
|---|
| 1 0 | 
Test 6
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| GGGGGGGGGG G | 
| correct output | 
|---|
| 10 10 9 8 7 6 5 4 3 2 1 | 
| user output | 
|---|
| 10 9 8 7 6 5 4 3 2 1 0 | 
Test 7
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| QUUQUUQUQU QU | 
| correct output | 
|---|
| 6 9 7 5 4 2 1 | 
| user output | 
|---|
| 6 4 1 8 6 3 0 | 
Test 8
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| DWXDWDWXHJ DWXHJ | 
| correct output | 
|---|
| 3 1 4 6 | 
| user output | 
|---|
| 3 0 3 5 | 
Test 9
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| FSOCRDGQBB FSOCRDGQB | 
| correct output | 
|---|
| 2 2 1 | 
| user output | 
|---|
| 2 1 0 | 
Test 10
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| OETMIMPUPD OETMIMPUPD | 
| correct output | 
|---|
| 1 1 | 
| user output | 
|---|
| 1 0 | 
Test 11
Group: 1
Verdict: ACCEPTED
| input | 
|---|
| DOWEUOWUEU DOWEU | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
Test 12
Group: 1
Verdict: ACCEPTED
| input | 
|---|
| JQZYVSIWTE JQZVYSIWTE | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
Test 13
Group: 1
Verdict: WRONG ANSWER
| input | 
|---|
| ABABABABA ABA | 
| correct output | 
|---|
| 4 7 5 3 1 | 
| user output | 
|---|
| 4 6 2 4 0 | 
Test 14
Group: 1
Verdict: ACCEPTED
| input | 
|---|
| AAAAAAAAAA AAAAAAAAAB | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
Test 15
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB... | 
| correct output | 
|---|
| 100 100 99 98 97 96 95 94 93 92 91... | 
| user output | 
|---|
| 100 99 98 97 96 95 94 93 92 91 90 ... Truncated | 
Test 16
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| BABABAAAAAAAAAAAAAAAAAABABAAAA... | 
| correct output | 
|---|
| 36 87 43 24 1 91 79 69 68 67 66 6... | 
| user output | 
|---|
| 36 86 68 67 66 65 64 63 52 51 50 ... Truncated | 
Test 17
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| ABABAAAAABABBBBAAAABBBBAABBBBB... | 
| correct output | 
|---|
| 22 51 50 43 41 31 28 26 24 21 20 ... | 
| user output | 
|---|
| 22 50 49 42 40 30 27 25 23 20 19 ... | 
Test 18
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| AAABABAAAABBBBBABABBAABBABABBA... | 
| correct output | 
|---|
| 2 1 2 | 
| user output | 
|---|
| 2 0 1 | 
Test 19
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| AABABBBBBBAABBABABBBBBBAABBAAA... | 
| correct output | 
|---|
| 1 1 | 
| user output | 
|---|
| 1 0 | 
Test 20
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS... | 
| correct output | 
|---|
| 100 100 99 98 97 96 95 94 93 92 91... | 
| user output | 
|---|
| 100 99 98 97 96 95 94 93 92 91 90 ... Truncated | 
Test 21
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| NNNININIMNIMKLMXCNIMKLMXCDEIMK... | 
| correct output | 
|---|
| 18 1 2 3 74 5 79 58 7 84 64 37 10... | 
| user output | 
|---|
| 18 73 78 83 57 63 36 26 0 1 2 4 6... | 
Test 22
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| VYQFNHMVTKOEYCXWINLKLHVFMEPQEU... | 
| correct output | 
|---|
| 3 51 2 1 | 
| user output | 
|---|
| 2 50 0 | 
Test 23
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| IISNROLHLOJIWPTVFHFLUQRIROVLYP... | 
| correct output | 
|---|
| 2 1 2 | 
| user output | 
|---|
| 2 0 1 | 
Test 24
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| WPMEMERJXXADLKONUZPUUFTPSXDHIV... | 
| correct output | 
|---|
| 1 1 | 
| user output | 
|---|
| 1 0 | 
Test 25
Group: 2
Verdict: ACCEPTED
| input | 
|---|
| LNSBGZAWFJZAWFJWFJLNSBLNSBGZAL... | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
Test 26
Group: 2
Verdict: ACCEPTED
| input | 
|---|
| IPIPYFUMRIPYFUMRLPIIIPYFIPYFUM... | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
Test 27
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| ABABABABABABABABABABABABABABAB... | 
| correct output | 
|---|
| 49 97 95 93 91 89 87 85 83 81 79 ... | 
| user output | 
|---|
| 49 94 90 86 82 78 74 70 66 62 58 ... Truncated | 
Test 28
Group: 2
Verdict: ACCEPTED
| input | 
|---|
| AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
Test 29
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB... | 
| correct output | 
|---|
| 1000 1000 999 998 997 996 995 994 9... | 
| user output | 
|---|
| 1000 999 998 997 996 995 994 993 99... Truncated | 
Test 30
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| BBBBBBBBAABBBBBBBBAABBBBBBBAAB... | 
| correct output | 
|---|
| 218 1 626 607 519 415 5 975 957 92... | 
| user output | 
|---|
| 218 974 983 970 956 965 953 952 94... Truncated | 
Test 31
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| AABBBABAABABAAABBAAAAAAABBBAAB... | 
| correct output | 
|---|
| 55 569 639 403 761 663 437 172 90... | 
| user output | 
|---|
| 55 900 899 896 895 894 884 883 88... Truncated | 
Test 32
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| ABBAAABAAABAAAAABBABABBABBABBB... | 
| correct output | 
|---|
| 2 2 1 | 
| user output | 
|---|
| 2 1 0 | 
Test 33
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| BAAABBABBBAAAABAAAABBBBABAABAA... | 
| correct output | 
|---|
| 1 1 | 
| user output | 
|---|
| 1 0 | 
Test 34
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU... | 
| correct output | 
|---|
| 1000 1000 999 998 997 996 995 994 9... | 
| user output | 
|---|
| 1000 999 998 997 996 995 994 993 99... Truncated | 
Test 35
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| KSBMRKKSBMRZXBDKSKSBMRZXBDAMRZ... | 
| correct output | 
|---|
| 178 723 731 1 935 857 820 760 735 ... | 
| user output | 
|---|
| 178 990 984 978 976 975 964 959 95... Truncated | 
Test 36
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| ILYLILYLVJILYLVJZCCQDLFRLSXZDM... | 
| correct output | 
|---|
| 21 671 54 747 504 113 1 856 764 5... | 
| user output | 
|---|
| 21 855 670 746 763 607 503 534 41... | 
Test 37
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| ZZJZNKHDLJBPXIAZNJIIGBEEJFSDAF... | 
| correct output | 
|---|
| 2 1 2 | 
| user output | 
|---|
| 2 0 1 | 
Test 38
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| FIMWTOLSRKOWYDPCOFUJZMXJEJFKSU... | 
| correct output | 
|---|
| 1 1 | 
| user output | 
|---|
| 1 0 | 
Test 39
Group: 3
Verdict: ACCEPTED
| input | 
|---|
| AIVHCGUMKSTIYBRNPONXHRFVBKPYHX... | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
Test 40
Group: 3
Verdict: ACCEPTED
| input | 
|---|
| QPMSLIDCLFLBEXGVVQQNSVKJYXGETC... | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
Test 41
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| ABABABABABABABABABABABABABABAB... | 
| correct output | 
|---|
| 499 997 995 993 991 989 987 985 98... | 
| user output | 
|---|
| 499 994 990 986 982 978 974 970 96... Truncated | 
Test 42
Group: 3
Verdict: ACCEPTED
| input | 
|---|
| AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... | 
| correct output | 
|---|
| -1 | 
| user output | 
|---|
| -1 | 
