| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1313272 | neonglitch | Hidden Sequence (info1cup18_hidden) | C++20 | 27 ms | 416 KiB |
#include<bits/stdc++.h>
#include "grader.h"
using namespace std;
vector < int > findSequence (int n)
{
int c0=0,c1=0;
for(int i=1;i<=((n/2)+1);i++)
{
vector<int> cur(i,1);
if(isSubsequence(cur))
{
}
else{
c1=i-1;
c0=n-c1;
break;
}
vector<int> cur1(i,0);
if(isSubsequence(cur1))
{
}
else{
c0=i-1;
c1=n-c0;
break;
}
}
if(c0==0)
{
vector<int> ans(n,1);
return ans;
}
if(c1==0)
{
vector<int> ans(n,0);
return ans;
}
int fp=0,sp=1;
if(c0>c1)swap(c0,c1),swap(fp,sp);
int ql=(n/2)+3;
vector<int> pos(n+2);
for(int i=0;i<c0;i++)
{
bool fd=0;
// x0 ,<=
for(int x0=1;(c0-i+x0)<=ql;x0++)
{
vector<int> qry;
for(int i1=0;i1<x0;i1++)
{
qry.push_back(sp);
}
for(int i1=i;i1<c0;i1++)
{
qry.push_back(fp);
}
if(!isSubsequence(qry))
{
// meaning the number of ones
// we need to add number of zero = i
pos[i]=x0-1+i;
// cout<<"Finding "<<i<<' '<<x0<<endl;
fd=1;
break;
}
}
for(int x0=1;!fd and (i+1+x0)<=ql;x0++)
{
vector<int> qry;
for(int i1=0;i1<=i;i1++)
{
qry.push_back(fp);
}
for(int i1=0;i1<x0;i1++)
{
qry.push_back(sp);
}
if(!isSubsequence(qry))
{
fd=1;
pos[i]=x0-1 + c0-1-i;
break;
}
}
if(!fd)
{
// cout<<"Masla"<<endl;
pos[i]=ql+i-c0+i;
}
}
vector<int> ans(n,sp);
for(int i=0;i<c0;i++)
{
ans[pos[i]]=fp;
}
return ans;
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
