Submission #333057

#TimeUsernameProblemLanguageResultExecution timeMemory
3330573zpHidden Sequence (info1cup18_hidden)C++14
100 / 100
9 ms492 KiB
#include<bits/stdc++.h>
#include "grader.h"

using namespace std;
bool ask(int a, int b, int c){
    vector<int> v;
    while(a--) v.push_back(c);
    while(b--) v.push_back(c^1);
    return isSubsequence(v);
}
int n0, n1;
vector < int > findSequence (int N)
{
    for(int i = 1; i <= N; i++){
        if(!ask(i,0,0)){
            n0 = i-1;
            n1 = N-n0;
            break;
        }
        if(!ask(i,0,1)){
            n1 = i-1;
            n0 = N-n1;
            break;
        }
    }
    int a0=0, a1=0, b0=n0, b1=n1;
    vector<int> ans;
    for(int i = 1; i <= N; i++){
        int x;
        if(a0+b1+1 <= N/2+1){
            if(ask(a0+1,b1,0))
                x = 0;
            else x = 1;
        }
        else{
            if(ask(a1+1,b0,1))
                x = 1;
            else x = 0;
        }
        if(x) a1++,b1--;
        else a0++,b0--;
        ans.push_back(x);
    }
    return ans;

}

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
grader.cpp:29:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |     for (int i=0; i<ans.size () && i < N; i++)
      |                   ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...