Submission #131725

#TimeUsernameProblemLanguageResultExecution timeMemory
131725mahmoudbadawyBroken Device (JOI17_broken_device)C++17
100 / 100
61 ms3312 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; int br[155]; void Anna( int N, long long X, int K, int P[] ){ srand(123321); vector<int> p; for(int i=0;i<N;i++) p.push_back(i); random_shuffle(p.begin(),p.end()); for(int i=0;i<N;i++) br[i]=0; for(int i=0;i<K;i++) br[P[i]]=1; /*for(int i=0;i<N;i+=2) { if(br[p[i]]||br[p[i+1]]) br[p[i]]=br[p[i+1]]=1; }*/ for(int i=0;i<N;i+=2) { int b=X%3; if(b==0 && !br[p[i+1]]) { Set(p[i],0); Set(p[i+1],1); } else if(b==1 && !br[p[i]]) { Set(p[i],1); Set(p[i+1],0); } else if(b==2 && (br[p[i]]+br[p[i+1]]==0)) { Set(p[i],1); Set(p[i+1],1); } else { Set(p[i],0); Set(p[i+1],0); continue; } X/=3; } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; long long Bruno( int N, int A[] ){ srand(123321); //long long xr=827550094985275787; vector<int> p; for(int i=0;i<N;i++) p.push_back(i); random_shuffle(p.begin(),p.end()); vector<int> v; for(int i=0;i<N;i+=2) { if(A[p[i]]+A[p[i+1]]==0) continue; if(A[p[i]]==0&&A[p[i+1]]==1) v.push_back(0); else if(A[p[i]]==1&&A[p[i+1]]==0) v.push_back(1); else v.push_back(2); } long long x=0; for(int i=v.size()-1;i>=0;i--){x*=3; x+=v[i];} return x; }
#Verdict Execution timeMemoryGrader output
Fetching results...