Submission #75291

#TimeUsernameProblemLanguageResultExecution timeMemory
75291KieranHorganMechanical Doll (IOI18_doll)C++17
0 / 100
1 ms224 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; vector<int> A, X, Y, C; int nextTrigger = -1; int solve(vector<int> a) { int trigger = nextTrigger--; if(a.size() == 1) return a[0]; vector<int> b; for(int i = 0; i < a.size(); i+=2) b.push_back(a[i]); int l = solve(b); b.clear(); for(int i = 1; i < a.size(); i+=2) b.push_back(a[i]); int r = solve(b); b.clear(); if(X.size() < -(trigger+1)) X.resize(-(trigger)), Y.resize(-(trigger)); X[-(trigger+1)] = l; Y[-(trigger+1)] = r; return trigger; } void create_circuit(int M, vector<int> A_) { A = A_; int N = A.size(); while(__builtin_popcount(A.size()+1) != 1) { A.push_back(-1); } A.push_back(0); C.assign(M+1, -1); solve(A); answer(C, X, Y); }

Compilation message (stderr)

doll.cpp: In function 'int solve(std::vector<int>)':
doll.cpp:11:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |   for(int i = 0; i < a.size(); i+=2)
      |                  ~~^~~~~~~~~~
doll.cpp:15:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |   for(int i = 1; i < a.size(); i+=2)
      |                  ~~^~~~~~~~~~
doll.cpp:20:15: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |   if(X.size() < -(trigger+1))
      |      ~~~~~~~~~^~~~~~~~~~~~~~
doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:29:7: warning: unused variable 'N' [-Wunused-variable]
   29 |   int N = A.size();
      |       ^
#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...