| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1319122 | hynmj | Hidden Sequence (info1cup18_hidden) | C++20 | 2 ms | 448 KiB |
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<int> findSequence(int n)
{
int l = -1, r = n + 1;
auto chk = [&](int k)
{
vector<int> a(k, 0);
return isSubsequence(a);
};
while (r - l > 1)
{
int mid = (r + l) / 2;
chk(mid) ? (l = mid) : (r = mid);
}
int zeros = l, ones = n - l;
int z = 0, o = 1;
if (zeros == 0)
{
vector<int> ans(n, 1);
return ans;
}
else if (ones == 0)
{
vector<int> ans(n, 0);
return ans;
}
vector<int> sequence;
vector<int> zleft(zeros, 0);
for (int i = 0; i < n; i++)
{
sequence.push_back(1);
vector<int> new_sequence(sequence.begin(), sequence.end());
new_sequence.insert(new_sequence.end(), zleft.begin(), zleft.end());
if (isSubsequence(new_sequence))
{
ones--;
if (ones == 0)
{
sequence.insert(sequence.end(), zleft.begin(), zleft.end());
return sequence;
}
continue;
}
else
{
sequence.pop_back();
sequence.push_back(0);
zleft.pop_back();
}
}
return sequence;
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
