# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
472081 | nickmet2004 | Hidden Sequence (info1cup18_hidden) | C++11 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
int N , Q;
bool ask(int x , int y , int c){
vector<int> v;
while(x--)v.emplace_back(c);
while(y--)v.emplace_back(c^1);
int w = 0;
if(N){
w = N - x;
while(w--)v.emplace_back(c);
}
return isSubsequence(v);
}
vector<int> findSequence(int n){
vector<int> ans;
ans.resize(n);
int n0 = 0 , n1 = 0;
for(int i =1; i <= n; ++i){
if(!ask(i , 0, 0)){
n0 = i - 1;
n1 = n - n0;
break;
}
}
N = n0;
if(n0<n1) N = n1 , Q^=1;
int a= 0 , b = 0;
for(int i = 1; i <= n; ++i){
if(!ask(a , b + 1 , Q)){
b =0;
a++;
ans.push_back(Q);
}else{
b++;
ans.push_back(Q^1);
}
}
return ans;
}