# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1141581 | Agageldi | Hidden Sequence (info1cup18_hidden) | C++17 | 0 ms | 428 KiB |
#include<bits/stdc++.h>
// #include "grader.cpp"
#include "grader.h"
#define pb push_back
#define sz(s) (int)s.size()
using namespace std;
deque <int> d;
vector <deque <int>> v;
int n, m, a[500];
vector < int > findSequence (int N)
{
d.pb(1);
int sonky = 1, pod = 0, pod2 = 0;
while(sz(d) < N) {
bool p = 0;
for(auto i:v) {
int cnt = 0;
for(int j = 0; j < sz(d); j++) {
if(cnt == sz(i)) break;
if(i[cnt] == d[j]) cnt++;
}
if(cnt == sz(i)) {
p = 1;
break;
}
}
if(p) {
v.pb(d);
d.pop_back();
if(pod) break;
sonky = 1 - sonky;
pod++;
d.pb(sonky);
continue;
}
vector <int> ask;
for(auto i:d) {
ask.pb(i);
}
bool tap = isSubsequence(ask);
if(!tap) {
v.pb(d);
d.pop_back();
if(pod2) break;
sonky = 1 - sonky;
d.pb(sonky);
pod2++;
continue;
}
else d.pb(sonky);
pod2 = pod = 0;
}
sonky = 1;
pod2 = pod = 0;
if(sz(d) < N) d.push_front(sonky);
while(sz(d) < N) {
bool p = 0;
for(auto i:v) {
int cnt = 0;
for(int j = 0; j < sz(d); j++) {
if(cnt == sz(i)) break;
if(i[cnt] == d[j]) cnt++;
}
if(cnt == sz(i)) {
p = 1;
break;
}
}
if(p) {
v.pb(d);
d.pop_front();
if(pod) break;
sonky = 1 - sonky;
pod++;
d.push_front(sonky);
continue;
}
vector <int> ask;
for(auto i:d) {
ask.pb(i);
}
bool tap = isSubsequence(ask);
if(!tap) {
v.pb(d);
d.pop_front();
if(pod2) break;
sonky = 1 - sonky;
d.push_front(sonky);
pod2++;
continue;
}
else d.pb(sonky);
pod2 = pod = 0;
}
vector <int> answer;
for(auto i:d) {
answer.pb(i);
}
return answer;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |