| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1320813 | yoshi_33550336 | Hidden Sequence (info1cup18_hidden) | C++20 | 3 ms | 440 KiB |
#include "grader.h"
using namespace std;
vector<int> findSequence(int n)
{
int n_zero, n_one;
for (int i = 1; i <= n / 2 + 1; i++)
{
vector<int> zeros(i), ones(i, 1);
if (!isSubsequence(zeros))
{
n_zero = i - 1;
n_one = n - n_zero;
break;
}
if (!isSubsequence(ones))
{
n_one = i - 1;
n_zero = n - n_one;
break;
}
}
vector<int> rc;
if (n_zero < n_one)
{
vector<int> oneslengths;
for (int zerosAfter = n_zero; zerosAfter >= 0; zerosAfter--)
{
bool ck = 0;
for (int ones = 1; ones <= n_one / 2 + 1; ones++)
{
vector<int> a(n_zero - zerosAfter);
for (int _ = 0; _ < ones; _++)
a.push_back(1);
for (int i = 0; i < zerosAfter; i++)
a.push_back(0);
if (!isSubsequence(a))
{
n_one -= ones - 1;
oneslengths.push_back(ones - 1);
ck = 1;
break;
}
}
if (!ck)
oneslengths.push_back(-1);
}
for (int zerosAfter = n_zero; zerosAfter >= 0; zerosAfter--)
{
int k = oneslengths[n_zero - zerosAfter];
if (k == -1)
k = n_one;
for (int i = 0; i < k; i++)
rc.push_back(1);
if (zerosAfter)
rc.push_back(0);
}
}
else
{
swap(n_zero, n_one);
vector<int> oneslengths;
for (int zerosAfter = n_zero; zerosAfter >= 0; zerosAfter--)
{
bool ck = 0;
for (int ones = 1; ones <= n_one / 2 + 1; ones++)
{
vector<int> a(n_zero - zerosAfter, 1);
for (int _ = 0; _ < ones; _++)
a.push_back(0);
for (int i = 0; i < zerosAfter; i++)
a.push_back(1);
if (!isSubsequence(a))
{
n_one -= ones - 1;
oneslengths.push_back(ones - 1);
ck = 1;
break;
}
}
if (!ck)
oneslengths.push_back(-1);
}
for (int zerosAfter = n_zero; zerosAfter >= 0; zerosAfter--)
{
int k = oneslengths[n_zero - zerosAfter];
if (k == -1)
k = n_one;
for (int i = 0; i < k; i++)
rc.push_back(0);
if (zerosAfter)
rc.push_back(1);
}
}
return rc;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
