# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1174535 | Pacybwoah | Hidden Sequence (info1cup18_hidden) | C++20 | 1008 ms | 36700 KiB |
#include<iostream>
#include<vector>
#include<algorithm>
#include<utility>
#include "grader.h"
using namespace std;
vector<int> findSequence(int N){
int n = N;
vector<int> que;
vector<pair<vector<int>, int>> res;
auto issub = [&](vector<int> a, vector<int> b){
int ptr = 0;
int sa = (int)a.size(), sb = (int)b.size();
for(int i = 0; i < sa; i++){
while(ptr < sb && a[i] != b[ptr]) ptr++;
if(ptr >= sb) return 0;
ptr++;
}
return 1;
};
for(int len = 1; len <= n / 2 + 1; len++){
for(int i = 0; i < (1 << len); i++){
vector<int>().swap(que);
for(int j = 0; j < len; j++){
if(i & (1 << j)) que.push_back(1);
else que.push_back(0);
}
res.emplace_back(que, isSubsequence(que));
}
}
for(int i = 0; i < (1 << n); i++){
vector<int> ans;
for(int j = 0; j < n; j++){
if(i & (1 << j)) ans.push_back(1);
else ans.push_back(0);
}
bool flag = 1;
for(auto &[vec, val]: res){
int res2 = issub(vec, ans);
if(res2 != val){
flag = 0;
break;
}
}
if(flag) return ans;
}
}
// g++ -std=c++17 -Wall -Wextra -Wshadow -fsanitize=undefined -fsanitize=address -o run grader.cpp sequence_bf.cpp -g
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |