제출 #1126166

#제출 시각아이디문제언어결과실행 시간메모리
1126166qrnHidden Sequence (info1cup18_hidden)C++20
34 / 100
6 ms420 KiB
#include<bits/stdc++.h>
#include "grader.h"

using namespace std;

vector<int> findSequence(int N) {
    int initN = N, numZero = 0;
    vector<int> seq, ans;

    int l = 0, r = N;
    while (l <= r) {
        int mid = (l + r) / 2;
        seq.assign(mid, 0); 

        if (isSubsequence(seq)) {
            numZero = mid; 
            l = mid + 1;
        } else {
            r = mid - 1;
        }
    }
    N -= numZero; 
    for (int zcnt = 0; zcnt <= numZero; zcnt++) {
        int numOne = 0;
        l = 0, r = N;
        while (l <= r) {
            int mid = (l + r) / 2;
            seq.clear();

            seq.insert(seq.end(), zcnt, 0);  
            seq.insert(seq.end(), mid, 1);      
            seq.insert(seq.end(), numZero - zcnt, 0); 

            if (isSubsequence(seq)) {
                numOne = mid;
                l = mid + 1;
            } else {
                r = mid - 1;
            }
        }
        ans.insert(ans.end(), numOne, 1);
        if (zcnt < numZero) {
            ans.push_back(0);
        }
        N -= numOne; 
    }
    ans.insert(ans.end(), N, 1);
    if ((int)ans.size() > initN) {
        ans.resize(initN);
    }
    return ans;
}

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