Submission #152897

#TimeUsernameProblemLanguageResultExecution timeMemory
152897SegtreeMechanical Doll (IOI18_doll)C++14
0 / 100
1 ms204 KiB
#include "doll.h" #include<iostream> #include<algorithm> #include<vector> using namespace std; typedef long long ll; #define mod 1000000007 ll tap(ll x){ ll t=2; while(t<x)t*=2; return t; } void create_circuit(int M,vector<int> A){ ll n=tap(A.size()+1); //cout<<"---"<<n<<endl; vector<int> c(M+1),x(n-1),y(n-1); c[0]=1,c[1]=-1; for(int i=1;i<n;i++){ x[i-1]=-(i*2); y[i-1]=-(i*2+1); } bool first=1; ll cnt=A.size(); for(int i=0;i<n/2;i++){ for(int j=0;j<2;j++){ if(first){ if(j==0)x[i+n/2-1]=0; if(j==1)y[i+n/2-1]=0; } else if(cnt>0){ if(j==0)x[i+n/2-1]=1; if(j==1)y[i+n/2-1]=1; cnt--; } else{ if(j==0)x[i+n/2-1]=-1; if(j==1)y[i+n/2-1]=-1; } } } /* cout<<"C:"; for(int i=0;i<c.size();i++)cout<<c[i]<<" "; cout<<endl; cout<<"X:"<<endl; for(int i=0;i<x.size();i++)cout<<x[i]<<" "<<y[i]<<endl;*/ answer(c,x,y); } /* int main(){ vector<int> A; for(int i=0;i<7;i++)A.push_back(i); create_circuit(1,A); return 0; }*/
#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...