Submission #1286896

#TimeUsernameProblemLanguageResultExecution timeMemory
1286896m.zeeshanrashidMechanical Doll (IOI18_doll)C++20
6 / 100
72 ms11412 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; #define elif else if #define all(l) begin(l),end(l) #define rall(l) rbegin(l),rend(l) #define append push_back #define print(l) for(auto i:l) cout<<i<<' '; cout<<endl; #define pprint(a,b) cout<<a<<' '<<b<<endl; #define inp(l) for(auto &i:l) cin>>i; #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> #define pai make_pair #define endl "\n" #define pii pair<int,int> #define fi first #define se second #define vec vector vec<int>ord(int n){ if(n==1) return {0}; vec<int>ans; for(auto i:ord(n/2)){ ans.append(i); ans.append(i+n/2); } return ans; } void create_circuit(int m, std::vector<int> a) { a.append(0); int n=a.size(); vec<vec<int>>aft(m+1); aft[0].append(a[0]); vec<int>c(m+1,0),x,y; for(int i=0;i<n-1;i++) aft[a[i]].append(a[i+1]); int p=-1; for(int i=0;i<=m;i++){ int s=aft[i].size(); if(s==0) continue; if(s==1){ c[i]=aft[i][0]; } if(s==2){ c[i]=p; x.append(aft[i][0]); y.append(aft[i][1]); p--; } if(s==3){ c[i]=p; x.append(p-1); y.append(aft[i][1]); x.append(aft[i][0]); y.append(aft[i][2]); p-=2; } if(s==4){ int g=x.size(); for(int i=0;i<3;i++){ x.append(0); y.append(0); } c[i]=p; x[g]=p-1; y[g]=p-2; x[g+1]=aft[i][0]; y[g+1]=aft[i][2]; x[g+2]=aft[i][1]; y[g+2]=aft[i][3]; p-=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...