제출 #1167372

#제출 시각아이디문제언어결과실행 시간메모리
1167372trandangquangBroken Device (JOI17_broken_device)C++20
0 / 100
19 ms1392 KiB
#include "Annalib.h" #include<bits/stdc++.h> using namespace std; void Set(int pos, int bit); void hihi(int p, int val){ for(int i=0; i<3; ++i){ Set(p+i,val>>i&1); } } void Anna(int N, long long X, int K, int P[]){ vector<int>A(N,0); for(int i=0; i<K; ++i) A[P[i]]=1; deque<int> dq; for(int i=0; i<60; ++i){ dq.push_back(X>>i&1); } for(int i=0; i<120; ++i) dq.push_back(0); for(int i=0; i<N; i+=3){ int t=A[i]+A[i+1]+A[i+2]; if(t>=2){ Set(i,0), Set(i+1,0), Set(i+2,0); } else if(t==1){ if(A[i]==1){ if(dq[0]) hihi(i,6); else hihi(i,2); dq.pop_front(); } else if(A[i+1]==1){ if(dq[0]){ hihi(i,1); dq.pop_front(); } else{ if(dq[1]) hihi(i,3); else hihi(i,4); dq.pop_front(); dq.pop_front(); } } else{ if(dq[0]) hihi(i,1); else hihi(i,2); dq.pop_front(); } } else{ if(!dq[0]&&!dq[1]) hihi(i,4); else if(!dq[0]&&dq[1]) hihi(i,3); else if(dq[0]&&!dq[1]) hihi(i,5); else hihi(i,7); dq.pop_front(); dq.pop_front(); } } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; long long Bruno(int N, int A[]){ vector<int>v; for(int i=0; i<N; i+=3){ int t=A[i]+A[i+1]*2+A[i+2]*4; if(t==1) v.emplace_back(1); if(t==2) v.emplace_back(0); if(t==3) v.emplace_back(0), v.emplace_back(1); if(t==4) v.emplace_back(0), v.emplace_back(0); if(t==5) v.emplace_back(1), v.emplace_back(0); if(t==6) v.emplace_back(1); if(t==7) v.emplace_back(1), v.emplace_back(1); } long long X=0; for(int i=0; i<60; ++i){ X|=(1LL*v[i])<<i; } return X; }
#Verdict Execution timeMemoryGrader output
Fetching results...