Submission #369128

#TimeUsernameProblemLanguageResultExecution timeMemory
369128denkendoemeer자동 인형 (IOI18_doll)C++14
100 / 100
95 ms10400 KiB
#include "doll.h" #include<bits/stdc++.h> using namespace std; const int inf=2e9; void create_circuit(int m,vector<int>a) { a.push_back(0); int n=a.size(),sz=1,cnt=0; while(sz<n) sz=sz*2,cnt++; vector<int>ans(sz*2); vector<int>v(sz); int i,j=0; for(i=0;i<sz;i++) ans[i+sz]=inf; int aux=0; for(i=0;i<sz;i++) v[i]=v[i/2]/2|((i&1)<<(cnt-1)); for(i=0;i<sz;i++){ if (v[i]>=sz-n) ans[v[i]+sz]=a[j],j++; else ans[v[i]+sz]=inf; } vector<int>x,y; for(i=sz-1;i>0;i--) if (ans[i*2]==inf && ans[i*2+1]==inf) ans[i]=inf; else{ ans[i]=--aux; x.push_back(ans[i*2]); y.push_back(ans[i*2+1]); } for(i=0;i<x.size();i++){ if (x[i]==inf) x[i]=aux; if (y[i]==inf) y[i]=aux; } answer(vector<int>(m+1,aux),x,y); }

Compilation message (stderr)

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:34:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |     for(i=0;i<x.size();i++){
      |             ~^~~~~~~~~
#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...