제출 #1236699

#제출 시각아이디문제언어결과실행 시간메모리
1236699caacrugonBroken Device (JOI17_broken_device)C++20
41 / 100
29 ms1540 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; void Anna(int N, long long X, int K, int P[]){ vector<int> ln(N,0); for(int i=0;i<K;i++){ ln[P[i]]=-1; } vector<int> bits; for(int i=0;i<N;++i){ if((X>>i)==0)break; bits.push_back((X>>i)&1LL); } int z=0; for(int i=1;i<N;i+=2){ if(z>=bits.size()) break; if(ln[i-1]==-1 && ln[i]==-1){ continue; }else if(ln[i-1]==0 && (ln[i]==0 || ln[i]==-1) && bits[z]==0){ ln[i-1]=1; z++; }else if((ln[i-1]==0 || ln[i-1]==-1) && ln[i]==0 && bits[z]==1){ ln[i-1]=1; ln[i]=1; z++; } } for(int i=0;i<N;i++){ if(ln[i]==1) Set(i,1); else Set(i,0); } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; #define ll long long long long Bruno(int N, int A[]){ vector<ll> bits; ll x=0; for(int i=1;i<N;i+=2){ if(A[i-1]==0 && A[i]==0){ continue; }else if(A[i-1]==1 && A[i]==0){ bits.push_back(0); }else if((A[i-1]==0 || A[i-1]==1) && A[i]==1){ bits.push_back(1); } } for(int i=bits.size()-1;i>=0;i--){ x=(x<<1)|bits[i]; } return x; }
#Verdict Execution timeMemoryGrader output
Fetching results...