# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
317600 | 2020-10-30T03:47:43 Z | daniel920712 | Hidden Sequence (info1cup18_hidden) | C++14 | 147 ms | 384 KB |
#include<bits/stdc++.h> #include "grader.h" using namespace std; vector < pair < vector < int > , int > > all; vector < int > temp; vector < int > tt; vector < int > ans; vector < int > ans2; vector < int > ans3; set < int > have; vector < int > Not; int con[5005]={0}; vector < int > findSequence (int N) { int i,j,k,l,ok=0,now=0,x1=0,y1=0,x,y; if(N<=10) { for(i=0;i<(1<<(N/2+1));i++) { temp.clear(); for(j=0;j<(N/2+1);j++) { if(i&(1<<j)) temp.push_back(1); else temp.push_back(0); } all.push_back(make_pair(temp,isSubsequence(temp))); } for(i=0;i<(1<<N);i++) { temp.clear(); for(j=0;j<N;j++) { if(i&(1<<j)) temp.push_back(1); else temp.push_back(0); } ok=1; for(auto j:all) { now=0; for(auto k:temp) { if(now<N/2+1&&k==j.first[now]) now++; } if(now==N/2+1&&j.second==0) ok=0; if(now!=N/2+1&&j.second==1) ok=0; } if(ok) return temp; } temp.clear(); return temp; } else { for(i=0;i<N/2+1;i++) { temp.push_back(0); if(!isSubsequence(temp)) { x=i; break; } } temp.clear(); if(i==N/2+1) { for(i=0;i<N/2+1;i++) { temp.push_back(1); if(!isSubsequence(temp)) { x=N-i; break; } } } y=N-x; if(x<=N/2) { con[x+1]=N-x; for(i=1;i<=x;i++) { ok=0; for(j=0;j+(x-i+1)<=N/2+1;j++) { temp.clear(); for(k=0;k<j;k++) temp.push_back(1); for(k=0;k<x-i+1;k++) temp.push_back(0); if(!isSubsequence(temp)) { ok=1; con[i]=j-1; break; } } if(!ok) { for(j=0;1;j++) { temp.clear(); for(k=0;k<i;k++) temp.push_back(0); for(k=0;k<j;k++) temp.push_back(1); if(temp.size()>N/2+1||!isSubsequence(temp)) { con[i]=y-j+1; break; } } } } now=0; for(i=1;i<=x;i++) { while(now<con[i]) { ans.push_back(1); now++; } ans.push_back(0); } while(now<con[i]) { ans.push_back(1); now++; } return ans; } else { con[y+1]=N-y; for(i=1;i<=y;i++) { ok=0; for(j=0;j+(y-i+1)<=N/2+1;j++) { temp.clear(); for(k=0;k<j;k++) temp.push_back(0); for(k=0;k<y-i+1;k++) temp.push_back(1); if(!isSubsequence(temp)) { ok=1; con[i]=j-1; break; } } if(!ok) { for(j=0;1;j++) { temp.clear(); for(k=0;k<i;k++) temp.push_back(1); for(k=0;k<j;k++) temp.push_back(0); if(temp.size()>N/2+1||!isSubsequence(temp)) { con[i]=x-j+1; break; } } } } now=0; for(i=1;i<=y;i++) { while(now<con[i]) { ans.push_back(0); now++; } ans.push_back(1); } while(now<con[i]) { ans.push_back(0); now++; } return ans; } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct: Maximum length of a query = 5 |
2 | Correct | 2 ms | 384 KB | Output is correct: Maximum length of a query = 6 |
3 | Correct | 1 ms | 256 KB | Output is correct: Maximum length of a query = 5 |
4 | Correct | 2 ms | 384 KB | Output is correct: Maximum length of a query = 5 |
5 | Correct | 1 ms | 256 KB | Output is correct: Maximum length of a query = 4 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 91 ms | 384 KB | Output is correct: Maximum length of a query = 83 |
2 | Correct | 98 ms | 384 KB | Output is correct: Maximum length of a query = 90 |
3 | Correct | 91 ms | 256 KB | Output is correct: Maximum length of a query = 96 |
4 | Correct | 67 ms | 256 KB | Output is correct: Maximum length of a query = 77 |
5 | Correct | 62 ms | 256 KB | Output is correct: Maximum length of a query = 95 |
6 | Correct | 30 ms | 256 KB | Output is correct: Maximum length of a query = 87 |
7 | Correct | 88 ms | 288 KB | Output is correct: Maximum length of a query = 97 |
8 | Correct | 73 ms | 256 KB | Output is correct: Maximum length of a query = 83 |
9 | Correct | 136 ms | 384 KB | Output is correct: Maximum length of a query = 101 |
10 | Correct | 147 ms | 384 KB | Output is correct: Maximum length of a query = 100 |
11 | Correct | 73 ms | 256 KB | Output is correct: Maximum length of a query = 96 |
12 | Correct | 66 ms | 256 KB | Output is correct: Maximum length of a query = 100 |
13 | Correct | 119 ms | 256 KB | Output is correct: Maximum length of a query = 101 |