제출 #1321041

#제출 시각아이디문제언어결과실행 시간메모리
1321041hoangmc2009Hidden Sequence (info1cup18_hidden)C++17
0 / 100
676 ms589824 KiB
#include<bits/stdc++.h> using namespace std; #ifndef Graven #include "grader.h" #endif #ifdef Graven int maxQ=0; vector<int> F; bool isSubsequence(const vector<int>& v) { if (v.size()>maxQ) maxQ=v.size(); for(int i=0,j=0;i<v.size();++i) { while(j<F.size() and v[i]!=F[j]) ++j; if(j==F.size()) return false; else ++j; } return true; } #endif vector<int> findSequence(int N) { int c0=-1,c1=-1; vector<int> tmp,res; for(int i=1;i<=(N/2+1);++i) { tmp.push_back(0); if(!isSubsequence(tmp)) { c0=i-1; c1=N-c0; break; } } if(c0==-1) { tmp.clear(); for(int i=1;i<=(N/2+1);++i) { tmp.push_back(1); if(!isSubsequence(tmp)) { c1=i-1; c0=N-c1; break; } } } if(c0<=c1) { for(int i=c0;i>=0;--i) { bool ok=0; for(int j=1;j<=c1/2+1;++j) { tmp.clear(); for(int k=1;k<=i;++k) tmp.push_back(0); for(int k=1;k<=j;++k) tmp.push_back(1); for(int k=1;k<=c0-i;++k) tmp.push_back(0); if(!isSubsequence(tmp)) { c1-=j-1; for(int k=1;k<j;++k) res.push_back(1); ok=1; break; } } if(!ok) {while(c1--) res.push_back(1);} if(i>0) res.push_back(0); } } else { for(int i=c1;i>=0;--i) { bool ok=0; for(int j=1;j<=c0/2+1;++j) { tmp.clear(); for(int k=1;k<=i;++k) tmp.push_back(1); for(int k=1;k<=j;++k) tmp.push_back(0); for(int k=1;k<=c1-i;++k) tmp.push_back(1); if(!isSubsequence(tmp)) { c0-=j-1; for(int k=1;k<j;++k) res.push_back(0); ok=1; break; } } if(!ok) {while(c0--) res.push_back(0);} if(i>0) res.push_back(1); } } reverse(res.begin(),res.end()); return res; } #ifdef Graven int main() { int n,x; cin>>n; maxQ=0; for(int i=1;i<=n;++i) { cin>>x; F.push_back(x); } vector<int> G=findSequence(n); if(G.size()!=F.size()) { cout<<"Different lengths: "<<G.size()<<"!="<<n<<"\n"; for(int& x:G) cout<<x<<" "; cout<<'\n'; return 0; } for(int i=0;i<G.size();++i) { if(G[i]!=F[i]) { cout<<"WA postion at "<<i+1<<'\n'; for(int& x:G) cout<<x<<" "; cout<<'\n'; return 0; } } cout<<"Ok, biggest queried length "<<maxQ; return 0; } #endif

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