Submission #172220

#TimeUsernameProblemLanguageResultExecution timeMemory
172220AlexLuchianovMechanical Doll (IOI18_doll)C++14
0 / 100
2 ms332 KiB
#include "doll.h" #include <vector> #include <queue> #include <algorithm> #include <iostream> #define ll long long int const nmax = 100000; std::vector<int> v; std::vector<int> soltriggers; std::vector<int> sol; int rev(int n, int number){ int p = 0; while((1 << p) < n) p++; int result = 0; for(int i = 0; i < p; i++) if(0 < (number & (1 << i))) result |= (1 << (p - 1 - i)); return result; } std::vector<int> left, right; int devices = 0; int build(int from, int to){ if(from < to){ int mid = (from + to) / 2; int lft = build(from, mid), rght = build(mid + 1, to); if(lft == -1 && rght == -1) return -1; else{ ++devices; left.push_back(lft); right.push_back(rght); return -devices; } } else return v[from]; } void create_circuit(int M, std::vector<int> A) { int N = A.size(); std::vector<int> initv; for(int i = 0; i < N; i++) initv.push_back(A[i]); initv.push_back(0); soltriggers.resize(1 + M); int n = 1; while(n < initv.size()) n *= 2; int unused = n - initv.size(); //std::cout << n << " " << unused << '\n'; int ptr = 0; for(int i = 0; i < n; i++) { int pos = rev(n, i); if(unused <= pos) v[pos] = initv[ptr++]; } for(int i = 0;i <= M; i++) soltriggers[i] = -1; soltriggers[0] = build(0, n - 1); }

Compilation message (stderr)

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:53:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |   while(n < initv.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...