| Task: | Bittipeli |
| Sender: | juhoh |
| Submission time: | 2015-10-02 20:40:24 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| #4 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.06 s | 1 | details |
| #2 | WRONG ANSWER | 0.05 s | 1 | details |
| #3 | ACCEPTED | 0.05 s | 1 | details |
| #4 | WRONG ANSWER | 0.05 s | 1 | details |
| #5 | WRONG ANSWER | 0.06 s | 1 | details |
| #6 | WRONG ANSWER | 0.05 s | 1 | details |
| #7 | WRONG ANSWER | 0.06 s | 1 | details |
| #8 | ACCEPTED | 0.05 s | 1 | details |
| #9 | ACCEPTED | 0.05 s | 1 | details |
| #10 | ACCEPTED | 0.05 s | 1 | details |
| #11 | WRONG ANSWER | 0.05 s | 1 | details |
| #12 | WRONG ANSWER | 0.05 s | 1 | details |
| #13 | ACCEPTED | 0.05 s | 1 | details |
| #14 | WRONG ANSWER | 0.06 s | 1 | details |
| #15 | WRONG ANSWER | 0.05 s | 1 | details |
| #16 | WRONG ANSWER | 0.05 s | 1 | details |
| #17 | ACCEPTED | 0.06 s | 1 | details |
| #18 | WRONG ANSWER | 0.03 s | 1 | details |
| #19 | WRONG ANSWER | 0.06 s | 1 | details |
| #20 | ACCEPTED | 0.05 s | 1 | details |
| #21 | ACCEPTED | 0.05 s | 2 | details |
| #22 | WRONG ANSWER | 0.05 s | 2 | details |
| #23 | WRONG ANSWER | 0.06 s | 2 | details |
| #24 | ACCEPTED | 0.05 s | 2 | details |
| #25 | ACCEPTED | 0.05 s | 2 | details |
| #26 | WRONG ANSWER | 0.05 s | 2 | details |
| #27 | ACCEPTED | 0.05 s | 2 | details |
| #28 | WRONG ANSWER | 0.05 s | 2 | details |
| #29 | WRONG ANSWER | 0.06 s | 2 | details |
| #30 | WRONG ANSWER | 0.05 s | 2 | details |
| #31 | WRONG ANSWER | 0.05 s | 2 | details |
| #32 | ACCEPTED | 0.06 s | 2 | details |
| #33 | WRONG ANSWER | 0.05 s | 2 | details |
| #34 | WRONG ANSWER | 0.05 s | 2 | details |
| #35 | WRONG ANSWER | 0.05 s | 2 | details |
| #36 | ACCEPTED | 0.05 s | 2 | details |
| #37 | ACCEPTED | 0.04 s | 2 | details |
| #38 | WRONG ANSWER | 0.06 s | 2 | details |
| #39 | ACCEPTED | 0.06 s | 2 | details |
| #40 | WRONG ANSWER | 0.06 s | 2 | details |
| #41 | ACCEPTED | 0.07 s | 3 | details |
| #42 | ACCEPTED | 0.06 s | 3 | details |
| #43 | WRONG ANSWER | 0.06 s | 3 | details |
| #44 | ACCEPTED | 0.05 s | 3 | details |
| #45 | WRONG ANSWER | 0.06 s | 3 | details |
| #46 | WRONG ANSWER | 0.05 s | 3 | details |
| #47 | WRONG ANSWER | 0.03 s | 3 | details |
| #48 | WRONG ANSWER | 0.06 s | 3 | details |
| #49 | ACCEPTED | 0.06 s | 3 | details |
| #50 | WRONG ANSWER | 0.05 s | 3 | details |
| #51 | WRONG ANSWER | 0.06 s | 3 | details |
| #52 | ACCEPTED | 0.06 s | 3 | details |
| #53 | WRONG ANSWER | 0.05 s | 3 | details |
| #54 | WRONG ANSWER | 0.05 s | 3 | details |
| #55 | WRONG ANSWER | 0.05 s | 3 | details |
| #56 | ACCEPTED | 0.05 s | 3 | details |
| #57 | ACCEPTED | 0.05 s | 3 | details |
| #58 | WRONG ANSWER | 0.05 s | 3 | details |
| #59 | ACCEPTED | 0.09 s | 3 | details |
| #60 | WRONG ANSWER | 0.05 s | 3 | details |
| #61 | ACCEPTED | 0.06 s | 4 | details |
| #62 | ACCEPTED | 0.05 s | 4 | details |
| #63 | WRONG ANSWER | 0.05 s | 4 | details |
| #64 | ACCEPTED | 0.05 s | 4 | details |
| #65 | ACCEPTED | 0.06 s | 4 | details |
| #66 | ACCEPTED | 0.06 s | 4 | details |
| #67 | ACCEPTED | 0.05 s | 4 | details |
| #68 | WRONG ANSWER | 0.04 s | 4 | details |
| #69 | ACCEPTED | 0.05 s | 4 | details |
| #70 | WRONG ANSWER | 0.05 s | 4 | details |
| #71 | ACCEPTED | 0.05 s | 4 | details |
| #72 | WRONG ANSWER | 0.06 s | 4 | details |
| #73 | ACCEPTED | 0.05 s | 4 | details |
| #74 | ACCEPTED | 0.06 s | 4 | details |
| #75 | WRONG ANSWER | 0.05 s | 4 | details |
| #76 | ACCEPTED | 0.05 s | 4 | details |
| #77 | ACCEPTED | 0.06 s | 4 | details |
| #78 | WRONG ANSWER | 0.06 s | 4 | details |
| #79 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #80 | WRONG ANSWER | 0.05 s | 4 | details |
Code
#include <iostream>
#include <algorithm>
#include <cstring>
typedef long long int ll;
using namespace std;
const int N = 100000;
int state [N] = {0};
int new_state [N] = {0};
int checked [N] = {0};
int spread [N] = {0};
int moves [N] = {0};
int numMoves = 0;
int n;
int qaq = 0;
void printArray(int * arr, int m = n) {
for (int i = 0; i < m; ++i) {
cout << arr[i] << " ";
}
cout << endl;
}
void addMove(int move) {
moves[numMoves] = move;
++numMoves;
}
int main() {
string input;
cin >> input;
n = input.length();
int last = input[0] == '1';
size_t i = 0;
int j = 0;
while (i < input.length()) {
int c = input[i] == '1';
if (c != last) {
++j;
last = c;
}
++state[j];
++i;
}
n=j+1;
start:
for (int i = 0; i < n; ++i) {
checked[i] = state[i] > 1 ? min(i, n-1-i)+1 : 0;
spread[i] = checked[i];
}
for (int i = 1; i < n; ++i) {
spread[i] = max(spread[i], spread[i-1]-1);
}
for (int i = n-2; i >= 0; --i) {
spread[i] = max(spread[i], spread[i+1]-1);
}
if (n>1) {
spread[0] = max(spread[0], spread[1]-1);
spread[n-1] = max(spread[n-1], spread[n-2]-1);
}
j = 0;
int m = 0;
for (int i = 0; i < n; ++i) {
if (spread[i] < 1) {
cout << "QAQ" << endl;
return 0;
}
if (checked[i] > m) {
j = i;
m = checked[i];
}
}
int k = 0;
int move = 0;
for (int i = 0; i < n; ++i) {
if (checked[i] > 0) {
++move;
}
if ((i&1)==(j&1) && checked[i] > 0) {
addMove(move);
if (k == 0 || i == n - 1) {
continue;
} else {
++i;
state[k-1] += state[i];
}
} else {
state[k] = state[i];
++k;
}
}
n = k;
if (n > 0) {
goto start;
}
cout << numMoves << endl;
printArray(moves, numMoves);
return 0;
}
Test details
Test 1
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 1011001010 |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 2
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 0000001001 |
| correct output |
|---|
| 3 1 1 1 |
| user output |
|---|
| 3 1 2 1 |
Test 3
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 0111011100 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| 3 1 2 1 |
Test 4
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 0100100100 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| QAQ |
Test 5
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1110010110 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| 4 2 1 2 1 |
Test 6
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1111110110 |
| correct output |
|---|
| 3 1 1 1 |
| user output |
|---|
| 3 1 2 1 |
Test 7
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 0011110001 |
| correct output |
|---|
| 3 1 2 1 |
| user output |
|---|
| QAQ |
Test 8
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 0111111000 |
| correct output |
|---|
| 2 1 1 |
| user output |
|---|
| 2 1 1 |
Test 9
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 1111111100 |
| correct output |
|---|
| 2 1 1 |
| user output |
|---|
| 2 1 1 |
Test 10
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 1000010011 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| 3 1 2 1 |
Test 11
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1101110000 |
| correct output |
|---|
| 3 1 1 1 |
| user output |
|---|
| 3 1 2 1 |
Test 12
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1101101100 |
| correct output |
|---|
| 4 1 2 1 1 |
| user output |
|---|
| 4 1 2 3 1 |
Test 13
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 0100111110 |
| correct output |
|---|
| 3 1 1 1 |
| user output |
|---|
| 3 1 1 1 |
Test 14
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1101001011 |
| correct output |
|---|
| 4 2 2 2 1 |
| user output |
|---|
| 5 2 1 2 3 1 |
Test 15
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1110110010 |
| correct output |
|---|
| 4 1 2 1 1 |
| user output |
|---|
| QAQ |
Test 16
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 0011011100 |
| correct output |
|---|
| 3 3 2 1 |
| user output |
|---|
| 3 2 3 1 |
Test 17
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 1100101011 |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 18
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1101100111 |
| correct output |
|---|
| 3 2 2 1 |
| user output |
|---|
| 4 1 2 3 1 |
Test 19
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 0110000100 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| QAQ |
Test 20
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 0000101000 |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 21
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 1110010100 |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 22
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 1110010000 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| 3 2 3 1 |
Test 23
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 1001101100 |
| correct output |
|---|
| 4 1 1 1 1 |
| user output |
|---|
| QAQ |
Test 24
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 0000000111 |
| correct output |
|---|
| 2 1 1 |
| user output |
|---|
| 2 1 1 |
Test 25
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 0011111110 |
| correct output |
|---|
| 2 2 1 |
| user output |
|---|
| 2 2 1 |
Test 26
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 1100101100 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| QAQ |
Test 27
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 0111101110 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| 3 1 2 1 |
Test 28
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 0000011011 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| 3 2 3 1 |
Test 29
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 1110011101 |
| correct output |
|---|
| 3 3 2 1 |
| user output |
|---|
| QAQ |
Test 30
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 0001011011 |
| correct output |
|---|
| 4 1 1 1 1 |
| user output |
|---|
| QAQ |
Test 31
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 0010110011 |
| correct output |
|---|
| 4 1 1 1 1 |
| user output |
|---|
| QAQ |
Test 32
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 0011100000 |
| correct output |
|---|
| 2 2 1 |
| user output |
|---|
| 2 2 1 |
Test 33
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 1110100110 |
| correct output |
|---|
| 4 1 1 1 1 |
| user output |
|---|
| 4 2 1 2 1 |
Test 34
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 0110110111 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| 4 1 2 3 1 |
Test 35
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 1110110010 |
| correct output |
|---|
| 4 1 2 1 1 |
| user output |
|---|
| QAQ |
Test 36
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 110011001100110011001010101010... |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 37
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 110011001100110011001100101010... |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 38
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 110011001100110011001100110011... |
| correct output |
|---|
| 31 1 20 20 20 20 20 20 20 20 20 2... |
| user output |
|---|
| QAQ |
Test 39
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 010101010101010101010101010101... |
| correct output |
|---|
| 48 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| user output |
|---|
| 48 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
Test 40
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 011010000011111011110000110011... |
| correct output |
|---|
| 23 13 13 12 11 11 11 11 10 9 9 9 ... |
| user output |
|---|
| 24 2 4 5 6 8 9 11 12 13 14 15 1 2... |
Test 41
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 0010101000 |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 42
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 0100010110 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| 4 1 1 2 1 |
Test 43
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 0100110110 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| QAQ |
Test 44
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1110000001 |
| correct output |
|---|
| 2 2 1 |
| user output |
|---|
| 2 2 1 |
Test 45
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 0001001110 |
| correct output |
|---|
| 3 2 2 1 |
| user output |
|---|
| QAQ |
Test 46
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 0011100011 |
| correct output |
|---|
| 3 1 2 1 |
| user output |
|---|
| 3 2 3 1 |
Test 47
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 0100111100 |
| correct output |
|---|
| 3 1 1 1 |
| user output |
|---|
| QAQ |
Test 48
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 0001001000 |
| correct output |
|---|
| 3 2 2 1 |
| user output |
|---|
| 4 1 2 3 1 |
Test 49
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 0100100010 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| 4 1 2 1 1 |
Test 50
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1100101110 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| 4 2 1 2 1 |
Test 51
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1000111011 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| QAQ |
Test 52
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000111111 |
| correct output |
|---|
| 2 1 1 |
| user output |
|---|
| 2 1 1 |
Test 53
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 0110011100 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| QAQ |
Test 54
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 0001000110 |
| correct output |
|---|
| 3 2 2 1 |
| user output |
|---|
| QAQ |
Test 55
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1110110010 |
| correct output |
|---|
| 4 1 2 1 1 |
| user output |
|---|
| QAQ |
Test 56
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 110011001100110011001100110011... |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 57
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 110011001100110011001100110011... |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 58
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 110011001100110011001100110011... |
| correct output |
|---|
| 1501 1 1000 1000 1000 1000 1000 100... |
| user output |
|---|
| QAQ |
Test 59
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 010101010101010101010101010101... |
| correct output |
|---|
| 2498 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| user output |
|---|
| 2498 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
Test 60
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 011100011001011111111000010110... |
| correct output |
|---|
| 1272 1 1 648 647 646 646 645 645 64... |
| user output |
|---|
| QAQ |
Test 61
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 1110101110 |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 62
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 0111001011 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| 4 2 1 2 1 |
Test 63
Group: 4
Verdict: WRONG ANSWER
| input |
|---|
| 1101111101 |
| correct output |
|---|
| 3 2 2 1 |
| user output |
|---|
| QAQ |
Test 64
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 1001110001 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| 3 2 1 1 |
Test 65
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 1000000011 |
| correct output |
|---|
| 2 1 1 |
| user output |
|---|
| 2 1 1 |
Test 66
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 0100010111 |
| correct output |
|---|
| 4 1 1 1 1 |
| user output |
|---|
| 4 1 1 2 1 |
Test 67
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 0100111010 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| 4 2 1 1 1 |
Test 68
Group: 4
Verdict: WRONG ANSWER
| input |
|---|
| 0010111101 |
| correct output |
|---|
| 4 1 1 1 1 |
| user output |
|---|
| 4 2 1 2 1 |
Test 69
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 0011111000 |
| correct output |
|---|
| 2 2 1 |
| user output |
|---|
| 2 2 1 |
Test 70
Group: 4
Verdict: WRONG ANSWER
| input |
|---|
| 1101001101 |
| correct output |
|---|
| 4 2 2 2 1 |
| user output |
|---|
| QAQ |
Test 71
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 0110111000 |
| correct output |
|---|
| 3 2 1 1 |
| user output |
|---|
| 3 1 2 1 |
Test 72
Group: 4
Verdict: WRONG ANSWER
| input |
|---|
| 1100110111 |
| correct output |
|---|
| 3 3 2 1 |
| user output |
|---|
| 4 1 3 4 1 |
Test 73
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 1110011111 |
| correct output |
|---|
| 2 2 1 |
| user output |
|---|
| 2 2 1 |
Test 74
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 1011000101 |
| correct output |
|---|
| 4 2 1 1 1 |
| user output |
|---|
| 4 2 1 1 1 |
Test 75
Group: 4
Verdict: WRONG ANSWER
| input |
|---|
| 1110110010 |
| correct output |
|---|
| 4 1 2 1 1 |
| user output |
|---|
| QAQ |
Test 76
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 110011001100110011001100110011... |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 77
Group: 4
Verdict: ACCEPTED
| input |
|---|
| 110011001100110011001100110011... |
| correct output |
|---|
| QAQ |
| user output |
|---|
| QAQ |
Test 78
Group: 4
Verdict: WRONG ANSWER
| input |
|---|
| 110011001100110011001100110011... |
| correct output |
|---|
| 30001 1 20000 20000 20000 20000 2000... |
| user output |
|---|
| QAQ |
Test 79
Group: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 010101010101010101010101010101... |
| correct output |
|---|
| 49998 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| user output |
|---|
| (empty) |
Test 80
Group: 4
Verdict: WRONG ANSWER
| input |
|---|
| 111000110000011000001101010010... |
| correct output |
|---|
| 25011 1 12471 12470 12469 12468 1246... |
| user output |
|---|
| QAQ |
