Submission #546390

#TimeUsernameProblemLanguageResultExecution timeMemory
546390jamezzzMechanical Doll (IOI18_doll)C++17
0 / 100
7 ms12048 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; vector<int> out[500005]; void create_circuit(int M,vector<int> A){ int N=A.size(); vector<int> tmp; for(int i=0;i<N;++i){ tmp.push_back(A[i]); } tmp.push_back(0); int s=tmp.size(); for(int i=0;((i+s)&(i+s-1))!=0;++i){ out[M+1].push_back(-1); } for(int x:tmp)out[M+1].push_back(x); printf("%d\n",out[M+1].size()); vector<int> C(M+1); vector<int> X,Y; int cur=2; for(int i=0;i<M+cur;++i){ if(i<=M)C[i]=-1; else{ vector<int> l,r; for(int j=0;j<out[i].size();++j){ if(j%2==0)l.push_back(out[i][j]); else r.push_back(out[i][j]); } bool same=true; for(int j=0;j<l.size()-1;++j){ if(l[j]!=l[j+1]){ same=false; break; } } if(same)X.push_back(l[0]); else{ X.push_back(-cur); swap(out[M+cur],l); ++cur; } same=true; for(int j=0;j<r.size()-1;++j){ if(r[j]!=r[j+1]){ same=false; break; } } if(same)Y.push_back(r[0]); else{ Y.push_back(-cur); swap(out[M+cur],r); ++cur; } } } answer(C,X,Y); }

Compilation message (stderr)

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:21:11: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
   21 |  printf("%d\n",out[M+1].size());
      |          ~^    ~~~~~~~~~~~~~~~
      |           |                 |
      |           int               std::vector<int>::size_type {aka long unsigned int}
      |          %ld
doll.cpp:31:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |    for(int j=0;j<out[i].size();++j){
      |                ~^~~~~~~~~~~~~~
doll.cpp:37:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |    for(int j=0;j<l.size()-1;++j){
      |                ~^~~~~~~~~~~
doll.cpp:52:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |    for(int j=0;j<r.size()-1;++j){
      |                ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...