Submission #1064348

#TimeUsernameProblemLanguageResultExecution timeMemory
1064348UnforgettableplBroken Device (JOI17_broken_device)C++17
85 / 100
30 ms3008 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; namespace { vector<int> convert_to_base3(long long x) { vector<int> res; while(x) { res.emplace_back(x%3); x/=3; } return res; } } void Anna(int N, long long X, int K, int P[]){ vector<bool> bad(N+1); for(int i=0;i<K;i++)bad[P[i]]=true; vector<int> num = convert_to_base3(X); auto iter = num.begin(); for(int i=0;i<N;i+=2) { if(bad[i] or bad[i+1] or iter==num.end()){Set(i,0);Set(i+1,0);continue;} if(*iter==0){ Set(i,0); Set(i+1,1); } else if(*iter==1) { Set(i,1); Set(i+1,0); } else if(*iter==2) { Set(i,1); Set(i+1,1); } iter++; } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; namespace { long long convert_to_base2(vector<int> num) { long long X = 0; reverse(num.begin(),num.end()); for(int&i:num) { X*=3; X+=i; } return X; } } long long Bruno(int N, int A[]) { vector<int> num; for(int i=0;i<N;i+=2){ if(A[i]==0 and A[i+1]==1)num.emplace_back(0); else if(A[i]==1 and A[i+1]==0)num.emplace_back(1); else if(A[i]==1 and A[i+1]==1)num.emplace_back(2); } return convert_to_base2(num); }
#Verdict Execution timeMemoryGrader output
Fetching results...