Submission #599131

#TimeUsernameProblemLanguageResultExecution timeMemory
599131MohamedFaresNebiliMechanical Doll (IOI18_doll)C++14
6 / 100
79 ms12400 KiB
#include <bits/stdc++.h> #include "doll.h" /// #pragma GCC optimize ("Ofast") /// #pragma GCC target ("avx2") /// #pragma GCC optimize("unroll-loops") using namespace std; using ll = long long; using ld = long double; using ii = pair<ll, ll>; using vi = vector<int>; #define ff first #define ss second #define pb push_back #define all(x) (x).begin(), (x).end() #define lb lower_bound const int MOD = 1e9 + 7; void create_circuit(int M, vector<int> A) { int N = A.size(); A.push_back(0); vector<int> C(M + 1, -1); N++; set<pair<int, int>> Switches; vector<int> adj[M + 1]; pair<int, int> B[200005]; for(int l = 0; l < N; l++) { int U = A[l], V = A[(l + 1) % N]; adj[U].push_back(V); } map<pair<int, int>, int> Key; int S = 0; vector<int> X(S), Y(S); for(int l = 0; l <= M; l++) { if(adj[l].size() <= 1) { adj[l].push_back(0); C[l] = adj[l][0]; continue; } if(adj[l].size() == 2) { int U = adj[l][0], V = adj[l][1]; C[l] = --S; X.push_back(U), Y.push_back(V); continue; } int U = adj[l][0], V = adj[l][1]; int J = -1, K = adj[l][2]; if(adj[l].size() == 4) { J = adj[l][3]; swap(J, K); } int Q = --S; int R = --S; int E = --S; C[l] = Q; X.push_back(R); Y.push_back(E); X.push_back(U); Y.push_back(J); X.push_back(V); Y.push_back(K); } answer(C, X, Y); }

Compilation message (stderr)

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:26:36: warning: unused variable 'B' [-Wunused-variable]
   26 |                     pair<int, int> B[200005];
      |                                    ^
#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...