Submission #131713

#TimeUsernameProblemLanguageResultExecution timeMemory
131713mahmoudbadawyBroken Device (JOI17_broken_device)C++17
90 / 100
63 ms3120 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) { if(br[p[i]]) {Set(p[i],0); Set(p[i+1],0); continue;} int b=X%3; X/=3; if(b==0) {Set(p[i],0); Set(p[i+1],1);} else if(b==1) {Set(p[i],1); Set(p[i+1],0);} else {Set(p[i],1); Set(p[i+1],1);} } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; long long Bruno( int N, int A[] ){ srand(123321); 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...