# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1144691 | SulA | Broken Device (JOI17_broken_device) | C++20 | 20 ms | 1588 KiB |
#include <bits/stdc++.h>
#include "Annalib.h"
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
bool bad[N],st[N+1];
st[N]=1;
for(int i=0;i<N;i++){
bad[i]=0;
st[i]=0;
}
for(int i=0;i<K;i++){
bad[P[i]]=1;
}
long long bit[38],cnt=0;
for(int i=0;i<38;i++)bit[i]=0;
while(X>0){
bit[cnt]=X%3;
X/=3; cnt++;
}
cnt=0;
for( int i = 1; i < N; i+=2){
if(!bad[i] && !bad[i-1] && cnt<38){
if(bit[cnt]==0){
Set(i-1,1);
Set(i,0);
}
if(bit[cnt]==1){
Set(i-1,0);
Set(i,1);
}
if(bit[cnt]==2){
Set(i-1,1);
Set(i,1);
}
cnt++;
}
else{
Set(i-1,0);
Set(i,0);
}
}
}
#include <bits/stdc++.h>
#include "Brunolib.h"
using namespace std;
long long Bruno( int N, int A[] ){
long long ans=0,p=1;
for(int i=1;i<N;i+=2){
if(A[i]==1 || A[i-1]==1){
if(A[i]==1 && A[i-1]==1)ans+=2*p;
else if(A[i]==1)ans+=p;
p*=3;
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |