제출 #546406

#제출 시각아이디문제언어결과실행 시간메모리
546406jamezzz자동 인형 (IOI18_doll)C++17
66.61 / 100
138 ms43556 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(); if(N==1){ vector<int> C(M+1,0); C[0]=A[0]; answer(C,{},{}); return; } for(int i=0;i<N;++i){ out[M+1].push_back(A[i]); } out[M+1].push_back(0); 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; int s=out[i].size(); int num=0; for(int j=0;j<out[i].size();j+=2){ if(i==M+1&&((num+s)&(num+s-1))!=0){ l.push_back(-1); r.push_back(out[i][j]); --j;++num; } else{ l.push_back(out[i][j]); r.push_back(out[i][j+1]); } } 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); }

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

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:32:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |    for(int j=0;j<out[i].size();j+=2){
      |                ~^~~~~~~~~~~~~~
doll.cpp:45:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |    for(int j=0;j<l.size()-1;++j){
      |                ~^~~~~~~~~~~
doll.cpp:60:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |    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...