Submission #1174462

#TimeUsernameProblemLanguageResultExecution timeMemory
1174462PacybwoahHidden Sequence (info1cup18_hidden)C++20
59 / 100
2 ms428 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;
    int a, b;
    for(int i = 0; i < (n + 1) / 2; i++){
        que.push_back(0);
    }
    if(isSubsequence(que)) a = 0, b = 1;
    else a = 1, b = 0;
    vector<int>().swap(que);
    int sz = 0;
    for(int i = 0; i < n; i++){
        que.push_back(b);
        if(!isSubsequence(que)){
            sz = i;
            break;
        }
    }
    if(sz == 0) return vector<int>(n, a);
    vector<int> ans(sz + 1, -1), poss;
    for(int i = 0; i <= sz; i++) poss.push_back(i);
    int now = 1;
    while((int)poss.size() > 1){
        vector<int> tmp;
        for(auto &x: poss){
            vector<int>().swap(que);
            for(int i = 0; i < x; i++) que.push_back(b);
            for(int i = 0; i < now; i++) que.push_back(a);
            for(int i = x; i < sz; i++) que.push_back(b);
            if(!isSubsequence(que)){
                ans[x] = now - 1;
            }
            else tmp.push_back(x);
        }
        poss = tmp;
        now++;
    }
    int sum = sz;
    for(auto &x: ans){
        if(x != -1) sum += x;
    }
    for(auto &x: ans){
        if(x == -1) x = n - sum;
    }
    vector<int> rans;
    for(int i = 0; i <= sz; i++){
        for(int j = 0; j < ans[i]; j++) rans.push_back(a);
        if(i < sz) rans.push_back(b);
    }
    return rans;
}
// g++ -std=c++17 -Wall -Wextra -Wshadow -fsanitize=undefined -fsanitize=address -o run grader.cpp sequence.cpp -g

Compilation message (stderr)

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...