| Task: | Bittijono |
| Sender: | Olli |
| Submission time: | 2017-10-08 10:32:30 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | 42 |
| subtask | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | ACCEPTED | 15 |
| #3 | ACCEPTED | 27 |
| #4 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | subtask | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.06 s | 1 | details |
| #2 | WRONG ANSWER | 0.04 s | 1 | details |
| #3 | WRONG ANSWER | 0.06 s | 1 | details |
| #4 | WRONG ANSWER | 0.07 s | 1 | details |
| #5 | WRONG ANSWER | 0.04 s | 1 | details |
| #6 | WRONG ANSWER | 0.04 s | 1 | details |
| #7 | WRONG ANSWER | 0.06 s | 1 | details |
| #8 | WRONG ANSWER | 0.04 s | 1 | details |
| #9 | WRONG ANSWER | 0.07 s | 1 | details |
| #10 | WRONG ANSWER | 0.07 s | 1 | details |
| #11 | ACCEPTED | 0.04 s | 2 | details |
| #12 | ACCEPTED | 0.05 s | 2 | details |
| #13 | ACCEPTED | 0.05 s | 2 | details |
| #14 | ACCEPTED | 0.04 s | 2 | details |
| #15 | ACCEPTED | 0.05 s | 2 | details |
| #16 | ACCEPTED | 0.04 s | 2 | details |
| #17 | ACCEPTED | 0.04 s | 2 | details |
| #18 | ACCEPTED | 0.05 s | 2 | details |
| #19 | ACCEPTED | 0.06 s | 2 | details |
| #20 | ACCEPTED | 0.07 s | 2 | details |
| #21 | ACCEPTED | 0.07 s | 3 | details |
| #22 | ACCEPTED | 0.06 s | 3 | details |
| #23 | ACCEPTED | 0.08 s | 3 | details |
| #24 | ACCEPTED | 0.06 s | 3 | details |
| #25 | ACCEPTED | 0.06 s | 3 | details |
| #26 | ACCEPTED | 0.06 s | 3 | details |
| #27 | ACCEPTED | 0.07 s | 3 | details |
| #28 | ACCEPTED | 0.07 s | 3 | details |
| #29 | ACCEPTED | 0.07 s | 3 | details |
| #30 | ACCEPTED | 0.08 s | 3 | details |
| #31 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #32 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #33 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #34 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #35 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #36 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #37 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #38 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #39 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #40 | TIME LIMIT EXCEEDED | -- | 4 | details |
Code
#include <iostream>
using namespace std;
//this seems to be too slow for 100 points, even though it seems to be O(n log n), assuming that the answer to the problem is O(n). This assumption seems to be wrong. QAQ.
int stringInBinary[30];
int length;
int subsSoFar[30];
int subsEndHere[30];
int uniqueSubsEndHere[30];
void increase() {
stringInBinary[1]++;
int i = 1;
while(stringInBinary[i] == 2) {
stringInBinary[i] = 0;
stringInBinary[i+1]++;
i++;
}
if(stringInBinary[length+1]) {
length++;
}
}
int amountOfSubstrings() {
for(int i = 1; i <= 29; i++) {
subsSoFar[i] = 0;
uniqueSubsEndHere[i] = 0;
subsEndHere[i] = 0;
}
subsSoFar[0] = 1;
uniqueSubsEndHere[0] = 1;
subsEndHere[0] = 1;
int lastIndexEndingWithOne = 29;
int lastIndexEndingWithZero = 29;
for(int i = 1; i <= length; i++) {
int bit = stringInBinary[i];
if(bit == 0) {
subsEndHere[i] = subsSoFar[i-1];
uniqueSubsEndHere[i] = subsSoFar[i-1] - subsEndHere[lastIndexEndingWithZero];
subsSoFar[i] = subsSoFar[i-1] + uniqueSubsEndHere[i];
lastIndexEndingWithZero = i;
} else {
subsEndHere[i] = subsSoFar[i-1];
uniqueSubsEndHere[i] = subsSoFar[i-1] - subsEndHere[lastIndexEndingWithOne];
subsSoFar[i] = subsSoFar[i-1] + uniqueSubsEndHere[i];
lastIndexEndingWithOne = i;
}
}
return subsSoFar[length] - 1;
}
int main() {
int n;
cin >> n;
if(n <= 10) {
cout << "Such n does not exist!" << "\n";
return 0;
}
stringInBinary[1] = 1;
length = 1;
while(amountOfSubstrings() != n) {
increase();
}
for(int i = length; i >= 1; i--) {
cout << stringInBinary[i];
}
}
Test details
Test 1
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1 |
| correct output |
|---|
| 1 |
| user output |
|---|
| Such n does not exist! |
Test 2
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 2 |
| correct output |
|---|
| 11 |
| user output |
|---|
| Such n does not exist! |
Test 3
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 3 |
| correct output |
|---|
| 10 |
| user output |
|---|
| Such n does not exist! |
Test 4
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 4 |
| correct output |
|---|
| 1111 |
| user output |
|---|
| Such n does not exist! |
Test 5
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 5 |
| correct output |
|---|
| 110 |
| user output |
|---|
| Such n does not exist! |
Test 6
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 |
| correct output |
|---|
| 101 |
| user output |
|---|
| Such n does not exist! |
Test 7
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 7 |
| correct output |
|---|
| 1110 |
| user output |
|---|
| Such n does not exist! |
Test 8
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 8 |
| correct output |
|---|
| 1100 |
| user output |
|---|
| Such n does not exist! |
Test 9
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 9 |
| correct output |
|---|
| 1101 |
| user output |
|---|
| Such n does not exist! |
Test 10
Subtask: 1
Verdict: WRONG ANSWER
| input |
|---|
| 10 |
| correct output |
|---|
| 1001 |
| user output |
|---|
| Such n does not exist! |
Test 11
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 38 |
| correct output |
|---|
| 1101011 |
| user output |
|---|
| 1101011 |
Test 12
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 13 |
| correct output |
|---|
| 11011 |
| user output |
|---|
| 11011 |
Test 13
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 90 |
| correct output |
|---|
| 111001010 |
| user output |
|---|
| 100100010 |
Test 14
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 25 |
| correct output |
|---|
| 110010 |
| user output |
|---|
| 101100 |
Test 15
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 82 |
| correct output |
|---|
| 111001101 |
| user output |
|---|
| 100010011 |
Test 16
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 94 |
| correct output |
|---|
| 1100011110 |
| user output |
|---|
| 1000011100 |
Test 17
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 100 |
| correct output |
|---|
| 1111001001 |
| user output |
|---|
| 1001001111 |
Test 18
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 99 |
| correct output |
|---|
| 110010010 |
| user output |
|---|
| 100011010 |
Test 19
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 98 |
| correct output |
|---|
| 110110010 |
| user output |
|---|
| 100111010 |
Test 20
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 92 |
| correct output |
|---|
| 100110001 |
| user output |
|---|
| 100011001 |
Test 21
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 1666 |
| correct output |
|---|
| 101101100100101 |
| user output |
|---|
| 100100010101010 |
Test 22
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 897 |
| correct output |
|---|
| 11101001101010 |
| user output |
|---|
| 10100010110100 |
Test 23
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4466 |
| correct output |
|---|
| 111101010110100101 |
| user output |
|---|
| 101001001110001011 |
Test 24
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4240 |
| correct output |
|---|
| 11011001011010101 |
| user output |
|---|
| 10101011010011011 |
Test 25
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 3089 |
| correct output |
|---|
| 1011001010100101 |
| user output |
|---|
| 1010010101001101 |
Test 26
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4697 |
| correct output |
|---|
| 11010101101010110 |
| user output |
|---|
| 10010101001010100 |
Test 27
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4608 |
| correct output |
|---|
| 11010110101001010 |
| user output |
|---|
| 10101101010010100 |
Test 28
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4625 |
| correct output |
|---|
| 111011001100101001 |
| user output |
|---|
| 100010101110110110 |
Test 29
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4611 |
| correct output |
|---|
| 11010101010101100 |
| user output |
|---|
| 10101101011010100 |
Test 30
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4917 |
| correct output |
|---|
| 10110100101010110 |
| user output |
|---|
| 10010101011010010 |
Test 31
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 178555 |
| correct output |
|---|
| 1011010110110101010110110 |
| user output |
|---|
| (empty) |
Test 32
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 864856 |
| correct output |
|---|
| 10111010110110100100101010010 |
| user output |
|---|
| (empty) |
Test 33
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 112146 |
| correct output |
|---|
| 1101110101011001100100110 |
| user output |
|---|
| (empty) |
Test 34
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 741124 |
| correct output |
|---|
| 1011010011010101100101011010 |
| user output |
|---|
| (empty) |
Test 35
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 511902 |
| correct output |
|---|
| 1011010100011010100101001110 |
| user output |
|---|
| (empty) |
Test 36
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 920019 |
| correct output |
|---|
| 11100100101101010101001101010 |
| user output |
|---|
| (empty) |
Test 37
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 933943 |
| correct output |
|---|
| 10101011010100100110100111001 |
| user output |
|---|
| (empty) |
Test 38
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 973410 |
| correct output |
|---|
| 1011010101011010101010101001 |
| user output |
|---|
| (empty) |
Test 39
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 954943 |
| correct output |
|---|
| 10110110010011010100100110101 |
| user output |
|---|
| (empty) |
Test 40
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 911674 |
| correct output |
|---|
| 1010110010110101010101010110 |
| user output |
|---|
| (empty) |
