제출 #598408

#제출 시각아이디문제언어결과실행 시간메모리
598408alextodoranHidden Sequence (info1cup18_hidden)C++17
100 / 100
7 ms308 KiB
/**
 ____ ____ ____ ____ ____
||a |||t |||o |||d |||o ||
||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|

**/

#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

typedef long long ll;

bool isSubsequence (vector <int> v);

vector <int> findSequence (int N) {
    int suff[2]; {
        if (isSubsequence(vector <int> (N / 2 + 1, 0)) == false) {
            suff[0] = 0;
            while (isSubsequence(vector <int> (suff[0] + 1, 0)) == true) {
                suff[0]++;
            }
            suff[1] = N - suff[0];
        } else {
            suff[1] = 0;
            while (isSubsequence(vector <int> (suff[1] + 1, 1)) == true) {
                suff[1]++;
            }
            suff[0] = N - suff[1];
        }
    }
    int pref[2];
    pref[0] = pref[1] = 0;
    vector <int> v;
    while ((int) v.size() < N) {
        if (pref[0] + 1 + suff[1] < pref[1] + 1 + suff[0]) {
            vector <int> ask;
            for (int i = 0; i < pref[0]; i++) {
                ask.push_back(0);
            }
            ask.push_back(0);
            for (int i = 0; i < suff[1]; i++) {
                ask.push_back(1);
            }
            if (isSubsequence(ask) == true) {
                v.push_back(0);
            } else {
                v.push_back(1);
            }
        } else {
            vector <int> ask;
            for (int i = 0; i < pref[1]; i++) {
                ask.push_back(1);
            }
            ask.push_back(1);
            for (int i = 0; i < suff[0]; i++) {
                ask.push_back(0);
            }
            if (isSubsequence(ask) == true) {
                v.push_back(1);
            } else {
                v.push_back(0);
            }
        }
        pref[v.back()]++;
        suff[v.back()]--;
    }
    return v;
}

컴파일 시 표준 에러 (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...