Submission #609392

#TimeUsernameProblemLanguageResultExecution timeMemory
609392AmirElarbiMechanical Doll (IOI18_doll)C++14
6 / 100
77 ms11072 KiB
#include <bits/stdc++.h> #define vi vector<int> #define ve vector #define ll long long #define vf vector<float> #define vll vector<pair<ll,ll>> #define ii pair<int,int> #define pll pair<ll,ll> #define vvi vector<vi> #define vii vector<ii> #define gii greater<ii> #define pb push_back #define mp make_pair #define fi first #define se second #define INF 2e9+5 #define eps 1e-7 #define eps1 1e-25 #define optimise ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); #define MAX_A 1e3+5 #define V 450 using namespace std; const int MOD = 1e9; const int nax = 2e5+5; #include "doll.h" void create_circuit(int m, vi a) { int n = a.size(); vvi adj(m+1); vi c(m+1); vi x, y; int par = 0; for (int i = 0; i < n; ++i) { adj[par].pb(a[i]); par = a[i]; } adj[par].pb(0); int swtch= 0; for (int i = 0; i <= m; ++i) { if(adj[i].size() == 0){ c[i] = 0; } else if(adj[i].size() == 1){ c[i] = adj[i][0]; } else if(adj[i].size() == 2){ c[i] = -swtch-1; x.pb(adj[i][0]); y.pb(adj[i][1]); swtch++; } else if(adj[i].size() == 3){ c[i] = -swtch-1; //main switch 1 x.pb(-swtch-2); y.pb(adj[i][1]); //secondary switch 1 x.pb(adj[i][0]); y.pb(adj[i][2]); //secondary switch 2 swtch += 2; } else { c[i] = -swtch-1; //main switch 1 x.pb(-swtch-2); y.pb(-swtch-3); //secondary switch 1 x.pb(adj[i][0]); y.pb(adj[i][2]); //secondary switch 2 x.pb(adj[i][1]); y.pb(adj[i][3]); swtch += 3; } } 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...