제출 #1322299

#제출 시각아이디문제언어결과실행 시간메모리
1322299kasamchi자동 인형 (IOI18_doll)C++20
9 / 100
41 ms10296 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; void create_circuit(int M, vector<int> A) { int N = A.size(); vector<int> C = {1, -1}; int b = 32 - __builtin_clz(N - 1); int K = (1 << b); vector<int> X, Y; for (int i = 0; i < K / 2 - 1; i++) { X.push_back(-(i + 1) * 2); Y.push_back(-(i + 1) * 2 - 1); } for (int i = K / 2 - 1; i < K - 1; i++) { X.push_back(1); Y.push_back(1); } Y[K - 2] = 0; vector<int> v; for (int i = 0; i < K; i++) { bitset<32> bs(i); for (int i = 0; i < b / 2; i++) { bool t = bs[i]; bs[i] = bs[b - i - 1]; bs[b - i - 1] = t; } v.push_back(bs.to_ulong()); } vector<int> u(K); for (int i = 0; i < K; i++) { u[v[i]] = i; } for (int i = K - 2; i >= N - 1; i--) { Y[K / 2 - 1 + u[i] / 2] = -1; } answer(C, X, Y); }
#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...