Submission #788497

#TimeUsernameProblemLanguageResultExecution timeMemory
788497AndreyMechanical Doll (IOI18_doll)C++14
53 / 100
109 ms21936 KiB
#include "doll.h" #include<bits/stdc++.h> using namespace std; vector<int> haha[200001]; vector<int> idk(500001); void create_circuit(int m, vector<int> bruh) { vector<int> c(m+1); c[0] = bruh[0]; int n = bruh.size(); bruh.push_back(0); vector<int> x(0); vector<int> y(0); int br = 1,a,z = 0,b,p,d,e; for(int i = 0; i < n; i++) { haha[bruh[i]].push_back(bruh[i+1]); } for(int i = 0; i < 200001; i++) { if(haha[i].empty()) { continue; } if(haha[i].size() == 1) { c[i] = haha[i][0]; } else { c[i] = -br; z = 1; b = 0; while(z < haha[i].size()) { z*=2; b*=2; b++; } for(int j = 0; j < b; j++) { x.push_back(-(br+j*2+1)); y.push_back(-(br+j*2+2)); } int p = haha[i].size()-z; for(int j = 0; j < z; j++) { d = br; while(d-br < b/2) { if((++idk[d])%2) { d = -x[d-1]; } else { d = -y[d-1]; } } if(p >= 0) { e = haha[i][p]; } else { e = -br; } if((++idk[d])%2) { x[d-1] = e; } else { y[d-1] = e; } p++; } br+=b; } } answer(c,x,y); }

Compilation message (stderr)

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:30:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |             while(z < haha[i].size()) {
      |                   ~~^~~~~~~~~~~~~~~~
doll.cpp:15:16: warning: unused variable 'a' [-Wunused-variable]
   15 |     int br = 1,a,z = 0,b,p,d,e;
      |                ^
doll.cpp:15:26: warning: unused variable 'p' [-Wunused-variable]
   15 |     int br = 1,a,z = 0,b,p,d,e;
      |                          ^
#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...