# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1183018 | 12345678 | Hidden Sequence (info1cup18_hidden) | C++17 | 2 ms | 420 KiB |
#include<bits/stdc++.h>
#include "grader.h"
using namespace std;
const int nx=205;
int t0, t1, c0, c1, f;
vector<int> findSequence (int N)
{
int mx=(N+2)/2;
vector<int> tmp, res;
res.resize(N);
for (int i=1; i<=mx; i++)
{
tmp.push_back(0);
if (!isSubsequence(tmp))
{
t0=i-1;
t1=N-t0;
f=1;
break;
}
}
tmp.clear();
for (int i=1; i<=mx; i++)
{
tmp.push_back(1);
if (!isSubsequence(tmp))
{
t1=i-1;
t0=N-t1;
f=1;
break;
}
}
//cout<<"debug "<<t0<<' '<<t1<<'\n';
for (int i=0; i<N;i ++)
{
//cout<<"c "<<c0<<' '<<c1<<'\n';
if (c0+1+t1-c1<=mx)
{
tmp.resize(c0+1+t1-c1, 0);
for (auto &x:tmp) x=0;
for (int j=c0+1; j<tmp.size(); j++) tmp[j]=1;
//cout<<"query ";
//for (auto x:tmp) cout<<x<<' ';
//cout<<'\n';
if (isSubsequence(tmp)) c0++;
else c1++, res[i]=1;
}
else
{
tmp.resize(c1+1+t0-c0, 0);
for (auto &x:tmp) x=0;
for (int j=0; j<c1+1; j++) tmp[j]=1;
if (isSubsequence(tmp)) c1++, res[i]=1;
else c0++;
}
}
return res;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |