제출 #96480

#제출 시각아이디문제언어결과실행 시간메모리
96480KLPPHidden Sequence (info1cup18_hidden)C++14
59 / 100
9 ms396 KiB
#include<bits/stdc++.h> #include "grader.h" using namespace std; vector < int > findSequence (int N) { int zeros,ones; zeros=-1; ones=-1; for(int i=1;i<=N/2+1;i++){ vector<int> query(i); for(int j=0;j<i;j++)query[j]=0; if(!isSubsequence(query)){ zeros=i-1; i=N/2+1; } } if(zeros!=-1)ones=N-zeros; for(int i=1;i<=N/2+1;i++){ vector<int> query(i); for(int j=0;j<i;j++)query[j]=1; if(!isSubsequence(query)){ ones=i-1; i=N/2+1; } } if(ones!=-1)zeros=N-ones; vector<int> ans; if(zeros==0){ for(int i=0;i<N;i++)ans.push_back(1); return ans; } if(ones==0){ for(int i=0;i<N;i++)ans.push_back(0); return ans; } vector<int> query; int obj=0; if(zeros>=ones){ obj=1; swap(ones,zeros); } //cout<<obj<<" "<<zeros<<" "<<ones<<endl; int ones_pos[zeros+1]; for(int i=0;i<=zeros;i++){ ones_pos[i]=-1; for(int j=1;j<=(ones+1)/2;j++){ for(int k=0;k<=zeros;k++){ if(k==i){ for(int l=0;l<j;l++)query.push_back(1-obj); } if(k!=zeros)query.push_back(obj); } //cout<<"I"<<i<<endl; //for(int test=0;test<query.size();test++)cout<<query[test]<<" "; //cout<<endl; if(!isSubsequence(query)){ ones_pos[i]=j-1; j=N; } query.clear(); } //cout<<ones_pos[i]<<endl; }//cout<<endl; int minus_one=0; for(int i=0;i<=zeros;i++){ if(ones_pos[i]==-1)minus_one++; } if(minus_one==1){ int sum=0; for(int i=0;i<=zeros;i++){ if(ones_pos[i]!=-1)sum+=ones_pos[i]; } for(int i=0;i<=zeros;i++){ if(ones_pos[i]==-1)ones_pos[i]=ones-sum; } }else{ for(int i=0;i<=zeros;i++){ if(ones_pos[i]==-1)ones_pos[i]=ones/2; } } /*for(int i=0;i<=zeros;i++){ cout<<ones_pos[i]<<" "; }cout<<endl;*/ for(int i=0;i<=zeros;i++){ for(int j=0;j<ones_pos[i];j++)ans.push_back(1-obj); if(i!=zeros)ans.push_back(obj); } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

grader.cpp: In function 'int main()':
grader.cpp:28:43: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<int>::size_type {aka long unsigned int}' [-Wformat=]
     fprintf (fifo_out, "%d\n", ans.size ());
                                ~~~~~~~~~~~^
grader.cpp:29:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0; i<ans.size () && i < N; i++)
                   ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...