Submission #1037707

#TimeUsernameProblemLanguageResultExecution timeMemory
1037707Mr_HusanboyMechanical Doll (IOI18_doll)C++17
16 / 100
49 ms12068 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define ff first #define ss second #define all(a) (a).begin(), (a).end() template<typename T> int len(T &a){ return a.size(); } mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count()); void create_circuit(int m, vector<int> a) { int n = a.size(); vector<int> c(m + 1); a.push_back(0); c[0] = a[0]; vector<vector<int>> pos(m + 1); for(int i = 0; i < n; i ++){ pos[a[i]].push_back(i); } vector<int> x, y; for(int i = 1; i <= m; i ++){ if(len(pos[i]) == 0) continue; if(len(pos[i]) == 1){ c[i] = a[pos[i][0] + 1]; continue; } if(len(pos[i]) == 2){ x.push_back(a[pos[i][0] + 1]); y.push_back(a[pos[i][1] + 1]); c[i] = -len(x); continue; } if(len(pos[i]) == 3){ int cur = len(x); c[i] = -cur - 1; x.push_back(-cur - 2); x.push_back(a[pos[i][0] + 1]); x.push_back(a[pos[i][1] + 1]); y.push_back(-cur - 3); y.push_back(-cur - 1); y.push_back(a[pos[i][2] + 1]); } if(len(pos[i]) == 4){ int cur = len(x); c[i] = -cur - 1; x.push_back(-cur - 2); x.push_back(a[pos[i][0] + 1]); x.push_back(a[pos[i][1] + 1]); y.push_back(-cur - 3); y.push_back(a[pos[i][2] + 1]); y.push_back(a[pos[i][3] + 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...