Submission #1174535

#TimeUsernameProblemLanguageResultExecution timeMemory
1174535PacybwoahHidden Sequence (info1cup18_hidden)C++20
20 / 100
1008 ms36700 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)

hidden.cpp: In function 'std::vector<int> findSequence(int)':
hidden.cpp:48:1: warning: control reaches end of non-void function [-Wreturn-type]
   48 | }
      | ^
grader.cpp: In function 'int main()':
grader.cpp:28:26: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
   28 |     fprintf (fifo_out, "%d\n", ans.size ());
      |                         ~^     ~~~~~~~~~~~
      |                          |              |
      |                          int            std::vector<int>::size_type {aka long unsigned int}
      |                         %ld
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...